From 25138300ff49fb535dad71cc919aefe5b6601fb4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 20 Oct 2023 12:48:42 +1100 Subject: [PATCH] New Crowdin updates (#5758) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations messages.po from Crowdin --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/da/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/de/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/el/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/en/LC_MESSAGES/django.po | 4553 +++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 4553 +++++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 3491 +++++++------ InvenTree/locale/fi/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/fr/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/he/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/hi/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/hu/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/id/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/it/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/ja/LC_MESSAGES/django.po | 2910 ++++++----- InvenTree/locale/ko/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/nl/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/no/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/pl/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/pt/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 4553 +++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 2730 +++++----- InvenTree/locale/sl/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/sv/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/th/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/tr/LC_MESSAGES/django.po | 2726 +++++----- InvenTree/locale/vi/LC_MESSAGES/django.po | 3120 +++++------ InvenTree/locale/zh/LC_MESSAGES/django.po | 2726 +++++----- .../locale/zh_Hans/LC_MESSAGES/django.po | 4497 ++++++++-------- .../locale/zh_hant/LC_MESSAGES/django.po | 4553 +++++++++-------- src/frontend/src/locales/cs/messages.po | 1127 ++-- src/frontend/src/locales/da/messages.po | 1127 ++-- src/frontend/src/locales/de/messages.po | 1133 ++-- src/frontend/src/locales/el/messages.po | 1127 ++-- src/frontend/src/locales/en/messages.po | 983 ++-- src/frontend/src/locales/es/messages.po | 1129 ++-- src/frontend/src/locales/fa/messages.po | 1127 ++-- src/frontend/src/locales/fi/messages.po | 1127 ++-- src/frontend/src/locales/fr/messages.po | 1139 +++-- src/frontend/src/locales/he/messages.po | 1127 ++-- src/frontend/src/locales/hi/messages.po | 1127 ++-- src/frontend/src/locales/hu/messages.po | 1149 +++-- src/frontend/src/locales/id/messages.po | 1127 ++-- src/frontend/src/locales/it/messages.po | 1127 ++-- src/frontend/src/locales/ja/messages.po | 1199 +++-- src/frontend/src/locales/ko/messages.po | 1127 ++-- src/frontend/src/locales/nl/messages.po | 1127 ++-- src/frontend/src/locales/no/messages.po | 1127 ++-- src/frontend/src/locales/pl/messages.po | 1127 ++-- .../src/locales/pseudo-LOCALE/messages.po | 977 ++-- src/frontend/src/locales/pt/messages.po | 1139 +++-- src/frontend/src/locales/ru/messages.po | 1139 +++-- src/frontend/src/locales/sl/messages.po | 1127 ++-- src/frontend/src/locales/sv/messages.po | 1139 +++-- src/frontend/src/locales/th/messages.po | 1127 ++-- src/frontend/src/locales/tr/messages.po | 1139 +++-- src/frontend/src/locales/vi/messages.po | 1333 +++-- src/frontend/src/locales/zh/messages.po | 1127 ++-- 59 files changed, 71999 insertions(+), 54563 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 24e2a04002..fa3d187400 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:26\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Není k dispozici žádná hodnota" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Zadejte datum" msgid "Notes" msgstr "Poznámky" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Hodnota '{name}' neodpovídá formátu vzoru" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: " @@ -98,99 +103,99 @@ msgstr "Potvrďte nové heslo" msgid "Old password" msgstr "Původní heslo" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (znovu)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Potvrzení emailové adresy" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Zadaná primární e-mailová adresa je neplatná." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Zadaná e-mailová doména není povolena." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplicitní výrobní číslo" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Neplatný rozsah skupiny: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Rozsah skupiny {g} překračuje povolené množství ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Neplatná sekvence skupiny: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Počet jedinečných sériových čísel ({s}) musí odpovídat množství ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Odstranit HTML tagy z této hodnoty" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Chyba spojení" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Server odpověděl s neplatným stavovým kódem" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Došlo k výjimce" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Server odpověděl s neplatnou hodnotou Content-Length" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Velikost obrázku je příliš velká" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Stahování obrázku překročilo maximální velikost" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Vzdálený server vrátil prázdnou odpověď" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Zadaná URL adresa není platný soubor obrázku" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "E-mail" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metadata musí být objekt python dict" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Metadata pluginu" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadat JSON pro použití externími pluginy" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Nesprávně naformátovaný vzor" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Neznámý formát klíče" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Chybí požadovaný klíč" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Referenční pole nemůže být prázdné" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Referenční číslo musí odpovídat požadovanému vzoru" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referenční číslo je příliš velké" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Chybějící soubor" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Příloha" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentář" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Uživatel" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "datum přidání" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Název souboru nesmí být prázdný" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Neplatný adresář přílohy" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Název souboru obsahuje nepovolený znak '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Chybějící přípona souboru" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Příloha s tímto názvem již existuje" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Chyba při přejmenování souboru" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Neplatný výběr" msgid "Name" msgstr "Název" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Název" msgid "Description" msgstr "Popis" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "nadřazený" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -683,7 +688,7 @@ msgstr "Vráceno" msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Vrácení peněz" msgid "Reject" msgstr "Odmítnout" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Neplatná fyzikální jednotka" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Neplatný kód měny" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Přidaná hodnota nesmí být záporná" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Nesmí přesáhnout 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Neplatná hodnota překročení" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Zadáno špatné heslo" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Informace o systému" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Neplatná volba nadřazeného sestavení" msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Referenční číslo prodejní objednávky" msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Stav sestavení" msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Cílové datum dokončení" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Datum dokončení" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Priorita sestavení" msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Výchozí měna" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Stáhnout z URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Prodejné" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Sledovatelné" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Zobrazit Import v zobrazeních" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Při tisku testovacího reportu, připojte kopii reportu k přidružené skladové položce" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Určuje výchozí chování, když je vyčerpána skladová položka" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Cena" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "Obrazek" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Společnost" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Zvolte díl" msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Vyberte výrobce" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Hodnota" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Jednotky" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Zákazník" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "Činnost nebyla specifikována" msgid "No matching action found" msgstr "Nebyla nalezena odpovídající činnost" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Pro data čárového kódu nebyla nalezena shoda" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index d650e040d1..3808ce967f 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Angiv dato" msgid "Notes" msgstr "Bemærkninger" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Værdi '{name}' vises ikke i mønsterformat" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Den angivne værdi matcher ikke det påkrævede mønster: " @@ -98,99 +103,99 @@ msgstr "Bekræft ny adgangskode" msgid "Old password" msgstr "Gammel adgangskode" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-mail (igen)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Bekræftelse af e-mailadresse" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Du skal indtaste den samme e-mail hver gang." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Den indtastede email adresse er ikke gyldig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Det angivne e-mail domæne er ikke godkendt." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Serienummer streng er tom" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplikeret serienummer" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ugyldigt gruppe-interval: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Gruppeinterval {g} overstiger det tilladte antal ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ugyldig gruppesekvens: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Ingen serienumre fundet" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Antal unikke serienumre ({s}) skal matche antal ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tags fra denne værdi" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Forbindelsesfejl" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Serveren svarede med ugyldig statuskode" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Der opstod en fejl" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarede med ugyldig Content-Length værdi" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Billedstørrelsen er for stor" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Billeddownload overskred maksimumstørrelsen" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Fjernserver returnerede tomt svar" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Forkert formateret mønster" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Ukendt formatnøgle angivet" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøgle" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Referencefelt må ikke være tomt" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Reference skal matche det påkrævede mønster" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Manglende fil" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Vedhæftning" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "Link" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Bruger" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "dato for upload" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Filnavn må ikke være tomt" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Ugyldig vedhæftningsmappe" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn indeholder ugyldigt tegn '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Vedhæftning med dette filnavn findes allerede" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Fejl ved omdøbning af fil" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Ugyldigt valg" msgid "Name" msgstr "Navn" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "overordnet" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Vælg datafilen til upload" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Filtype ikke understøttet" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Ingen kolonner fundet i fil" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Ingen datarækker fundet i fil" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Ingen data-rækker angivet" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Ingen data-kolonner angivet" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrævet kolonne: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikeret kolonne: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -683,7 +688,7 @@ msgstr "Returneret" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Overskud må ikke være negativ" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Overskuddet må ikke overstige 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Ugyldig værdi for overskud" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Rediger brugerinformation" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Vælg adgangskode" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "De indtastede adgangskoder skal være ens" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Forkert adgangskode indtastet" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Systemoplysninger" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Ugyldigt valg for overordnet produktion" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Salgsordrereference" msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Produktions Status" msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Bygge Prioritet" msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN skal matche regex mønster {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index d533a534ad..e60ce7b5cf 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-15 16:33\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Kein Wert angegeben" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Konnte {original} nicht in {unit} umwandeln" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Datum eingeben" msgid "Notes" msgstr "Notizen" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Wert '{name}' hält das Musterformat nicht ein" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: " @@ -98,99 +103,99 @@ msgstr "Neues Passwort bestätigen" msgid "Old password" msgstr "Altes Passwort" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-Mail (nochmal)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Bestätigung der E-Mail Adresse" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Registrierung ist deaktiviert." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplizierter Seriennummer" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ungültiger Gruppenbereich: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Gruppenbereich {g} überschreitet die zulässige Menge ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ungültige Gruppensequenz: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Verbindungsfehler" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Server antwortete mit ungültigem Statuscode" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Ausnahme aufgetreten" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Bild ist zu groß" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Bilddownload überschreitet maximale Größe" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Remote-Server gab leere Antwort zurück" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -206,64 +211,64 @@ msgstr "[{site.name}] In App einloggen" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metadaten müssen ein Python-Dict Objekt sein" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Plugin Metadaten" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Falsch formatiertes Muster" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Unbekannter Formatschlüssel angegeben" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Erforderlicher Formatschlüssel fehlt" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Referenz-Feld darf nicht leer sein" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Referenz muss erforderlichem Muster entsprechen" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Fehlende Datei" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Dateiname darf nicht leer sein" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Ungültiges Verzeichnis für Anhang" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dateiname enthält ungültiges Zeichen '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Dateiendung fehlt" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Anhang mit diesem Dateinamen bereits vorhanden" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Fehler beim Umbenennen" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Ungültige Auswahl" msgid "Name" msgstr "Name" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Name" msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "Eltern" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" @@ -634,7 +639,7 @@ msgstr "Chinesisch (Vereinfacht)" msgid "Chinese (Traditional)" msgstr "Chinesisch (Traditionell)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -683,7 +688,7 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Rückerstattung" msgid "Reject" msgstr "Ablehnen" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Ungültige physikalische Einheit" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Kein gültiger Währungscode" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Überschuss-Wert darf nicht negativ sein" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Überschuss darf 100% nicht überschreiten" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Passwort setzen" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Falsches Passwort angegeben" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformationen" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Verbrauchsmaterial" msgid "Optional" msgstr "Optional" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Auftrag Referenz" msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Bauauftrags-Priorität" msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Projektcode" msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Objekt bauen" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:269 +#: build/serializers.py:267 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:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" msgid "Location" msgstr "Lagerort" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Lagerort für fertige Endprodukte" msgid "Status" msgstr "Status" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Abzug aller Lagerbestände, die diesem Build bereits zugewiesen wurden" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 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:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Bestand für Bauauftrag erforderlich" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Überfälliger Bauauftrag" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" @@ -1730,8 +1731,8 @@ 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:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Ziel-Lager" @@ -2013,1372 +2014,1372 @@ msgstr "Aktualisiert" msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Eindeutiger Projektcode" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Projektbeschreibung" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Eine leere Domain ist nicht erlaubt." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ungültiger Domainname: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "Kein Plugin" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Firmenname" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "Währungsaktualisierungsintervall" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "Tage" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen können bei Bedarf nachgeladen werden." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Prüfungsintervall aktualisieren" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Intervall für automatische Sicherung" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Aufgabenlöschinterval" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Löschintervall für Fehlerprotokolle" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Löschintervall für Benachrichtigungen" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Artikelrevisionen" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Vorlage" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponente" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1567 +#: common/models.py:1556 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:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1595 +#: common/models.py:1584 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:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1615 +#: common/models.py:1604 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:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Verkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1756 +#: common/models.py:1745 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:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Lagerartikeln in externen Standorten in der Berechnungen zur Bestandsaufnahme ausschließen" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2063 +#: common/models.py:2051 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:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2077 +#: common/models.py:2065 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:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2126 +#: common/models.py:2114 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:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2196 +#: common/models.py:2184 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:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "Standardvorlage für Teilebeschriftung" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "Lagerartikel-Standardvorlage" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Preis" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Token" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Host" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Body" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "ID" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Gelesen" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Neue {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Artikel erhalten" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Artikel wurden aus einer Bestellung erhalten" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "Artikel wurden aus einer Rücksendung erhalten" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" @@ -3571,7 +3572,7 @@ msgstr "Felder zuteilen fehlgeschlagen" msgid "Parts imported" msgstr "Teile importiert" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Produziert diese Firma Teile?" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Firma auswählen" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "Adresstitel" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "Titel zur Beschreibung des Adresseintrages" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "Primäre Adresse" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "Als primäre Adresse festlegen" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Linie 1" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "Adresszeile 1" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Linie 2" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "Adresszeile 2" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Postleitzahl" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "Stadt/Region" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "Postleitzahl Stadt/Region" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "Staat/Provinz" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "Bundesland" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "Land" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "Adresse Land" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "Kurierversandnotizen" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "Notizen für Versandkurier" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "Interne Versandnotizen" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "Versandnotizen für interne Verwendung" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Teil auswählen" msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Hersteller auswählen" msgid "MPN" msgstr "MPN" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Wert" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Einheiten" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "Packeinheiten müssen größer als Null sein" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Zulieferer auswählen" msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Notiz" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Teile-Verpackungen" msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "Vielfache" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" @@ -4011,10 +4014,10 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "Geschäftsadressen" msgid "Add Address" msgstr "Adresse hinzufügen" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Hersteller" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "Adressen" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Barcode mit Zuliefererteil verknüpfen" msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Lagerartikel" msgid "Supplier Part Pricing" msgstr "Zuliefererteil Bepreisung" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Neuer Hersteller" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Kunden" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmen" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Neue Firma" @@ -4422,7 +4425,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Aktiviert" @@ -4446,7 +4449,7 @@ msgstr "Höhe [mm]" msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Dateinamen-Muster" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filter" @@ -4478,7 +4481,7 @@ msgstr "QR-Code" msgid "QR code" msgstr "QR-Code" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "QR-Code" msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "Keine passende Bestellung gefunden" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Bestellung" msgid "Return Order" msgstr "Rücksendeauftrag" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Unbekannt" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "Kontakt stimmt nicht mit der ausgewählten Firma überein" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Auftragsbeschreibung (optional)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:261 +#: order/models.py:255 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:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "Ansprechpartner für diesen Auftrag" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "Firmenadresse für diesen Auftrag" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "Empfangen von" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "Versand von" -#: order/models.py:870 +#: order/models.py:860 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:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "Nur ein offener Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 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:880 +#: order/models.py:870 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:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Kontext" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Bestellung" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Zuliefererteil" msgid "Received" msgstr "Empfangen" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1238 +#: order/models.py:1223 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:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1607 +#: order/models.py:1591 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:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Position" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Position" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Position" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Überfällige Bestellung" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Bestellung {po} ist jetzt überfällig" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Überfälliger Auftrag" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Auftrag {so} ist jetzt überfällig" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Aktionen" @@ -5431,47 +5434,47 @@ 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/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Name des Teils" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Version" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Kategoriename" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "Standard-Standortnummer" @@ -5479,11 +5482,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5493,8 +5496,8 @@ msgstr "Minimaler Bestand" msgid "In Stock" msgstr "Auf Lager" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "Eltern ID" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "Name des übergeordneten Teils" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Pfad zur Kategorie" msgid "Parts" msgstr "Teile" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "Stücklistenebene" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "Stücklisten-Position ID" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Gültig" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -5613,7 +5616,7 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -5659,62 +5662,62 @@ msgstr "Symbol (optional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, 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:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Category" msgstr "Kategorie" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1034 +#: part/models.py:1026 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:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Bericht" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3299 +#: part/models.py:3262 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:3316 +#: part/models.py:3279 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:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3355 +#: part/models.py:3318 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:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3361 +#: part/models.py:3324 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:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Wert" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Stufe" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Stücklisten-Position" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3900 +#: part/models.py:3855 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:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3906 +#: part/models.py:3861 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:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" @@ -6375,190 +6378,190 @@ msgstr "Hersteller-Teilenummer" msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "Gesamtstückzahl" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "Gesamt-Bestandswert min" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "Gesamt-Bestandswert max" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "Inventurbericht verfügbar" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "Stückliste überprüfen" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Stücklisten-Position hinzufügen" @@ -6958,7 +6961,7 @@ msgstr "Zu Bauaufträgen zugeordnet" msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "Herstellbar" @@ -7216,11 +7219,11 @@ msgstr "Neue Teilevariante anlegen" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Unbekannte Datenbank" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7258,19 +7261,20 @@ msgstr "Keine Aktion angegeben" msgid "No matching action found" msgstr "Keine passende Aktion gefunden" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "Fehlende Barcode-Daten" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Keine Treffer für Barcode" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" @@ -7279,6 +7283,52 @@ msgstr "Barcode entspricht einem bereits vorhandenen Artikel" msgid "No match found for provided value" msgstr "Kein Treffer für angegebenen Wert gefunden" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" @@ -7295,6 +7345,8 @@ msgstr "Bietet native Unterstützung für Barcodes" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "InvenTree Mitwirkende" @@ -7332,7 +7384,7 @@ msgstr "Eingehender Webhook-URL für Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL, die verwendet wird, um Nachrichten an einen Slack-Kanal zu senden" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Link öffnen" @@ -7360,20 +7412,68 @@ msgstr "Debug-Modus" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "Name des Plugins" msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "Installiert" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "Beispiel-Plugin" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "Integriertes Plugin" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "Methode" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "Installation nicht bestätigt" msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "Plugin aktivieren" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "Dieses Plugin aktivieren" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "Testbericht" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "A4" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "US-Legal" @@ -7547,107 +7651,107 @@ msgstr "US-Legal" msgid "Letter" msgstr "US-Letter" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "Seitengröße für PDF-Berichte" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "Querformat" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Snippet" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Ressource" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "Ressource-Beschreibung" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "Summe" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Ergebnis" @@ -7787,7 +7891,7 @@ msgstr "Lieferant" msgid "Customer ID" msgstr "Kunden ID" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "verbaut in" @@ -7812,33 +7916,33 @@ msgstr "Überprüfung erforderlich" msgid "Delete on Deplete" msgstr "Löschen wenn leer" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Bestand-Lagerort" msgid "Stock Locations" msgstr "Bestand-Lagerorte" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Besitzer auswählen" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:706 +#: stock/models.py:676 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:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:734 +#: stock/models.py:704 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:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:885 +#: stock/models.py:855 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:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1485 +#: stock/models.py:1454 #, 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:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1797 +#: stock/models.py:1766 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:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "Test Notizen" @@ -8127,141 +8231,141 @@ msgstr "Seriennummer ist zu lang" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, 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:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -9801,7 +9905,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:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -10178,74 +10282,74 @@ msgstr "Varianten erlaubt" msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "Stücklisten-Bepreisung ist vollständig" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "Stücklisten-Bepreisung ist unvollständig" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "Verbrauchsartikel" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index aba545efce..f24884d62f 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Εισάγετε ημερομηνία" msgid "Notes" msgstr "Σημειώσεις" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μοτίβου" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: " @@ -98,99 +103,99 @@ msgstr "Επιβεβαιώστε τον νέο κωδικό πρόσβασης" msgid "Old password" msgstr "Παλιός κωδικός πρόσβασης" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-mail (ξανά)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Επιβεβαίωση διεύθυνσης email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Πρέπει να πληκτρολογήσετε το ίδιο email κάθε φορά." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Κενό σειριακό αριθμό συμβολοσειράς" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Διπλότυπο serial number" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Μη έγκυρο εύρος ομάδας: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Το εύρος της ομάδας {g} υπερβαίνει την επιτρεπόμενη ποσότητα ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Μη έγκυρη ακολουθία ομάδας: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Δεν βρέθηκαν σειριακοί αριθμοί" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({s}) πρέπει να αντιστοιχεί στην ποσότητα ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Προέκυψε σφάλμα" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\"" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Λανθασμένο μοτίβο" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Δώσατε λάθος μορφή κλειδιού" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Λείπει το απαραίτητο κλειδί" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Το πεδίο δεν μπορεί να είναι άδειο" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Συνημμένο" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Σχόλιο" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Χρήστης" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "ημερομηνία φόρτωσης" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Το όνομα αρχείου δεν μπορεί να είναι κενό" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Μη διαθέσιμη τοποθεσία συνημμένου" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Το όνομα αρχείου περιέχει μη έγκυρους χαρακτήρες '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Λείπει επέκταση ονόματος αρχείου" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Αρχείο με αυτό το όνομα υπάρχει ήδη" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Σφάλμα κατά τη μετονομασία" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Μη έγκυρη επιλογή" msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Όνομα" msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "γονέας" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Όνομα αρχείου" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -683,7 +688,7 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Μη έγκυρος κωδικός συναλλάγματος" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Η μέση τιμή δεν πρέπει να είναι αρνητική" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Μη έγκυρη τιμή για υπέρβαση" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Τροποποίηση πληροφοριών χρήστη" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ορισμός Κωδικού Πρόσβασης" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να ταιριάζουν" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Δόθηκε λάθος κωδικός πρόσβασης" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Πληροφορίες συστήματος" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων" msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index ac60f48dce..38670114f9 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: 2023-09-29 21:02+0000\n" +"POT-Creation-Date: 2023-10-18 03:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,71 +18,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:93 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:115 -msgid "Provided value is not a valid number" -msgstr "" - -#: InvenTree/conversion.py:117 -msgid "Provided value has an invalid unit" -msgstr "" - -#: InvenTree/conversion.py:122 -msgid "Provided value could not be converted to the specified unit" +#: InvenTree/conversion.py:125 +#, python-brace-format +msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:127 -msgid "Error" +msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2191 stock/models.py:2299 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:999 stock/serializers.py:1098 -#: stock/serializers.py:1259 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1061 -#: templates/js/translated/purchase_order.js:2175 -#: templates/js/translated/return_order.js:769 +#: templates/js/translated/part.js:1077 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/sales_order.js:1979 -#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" msgstr "" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -106,99 +104,99 @@ msgstr "" msgid "Old password" msgstr "" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -214,248 +212,252 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2293 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:494 common/models.py:2770 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:1309 +#: stock/admin.py:138 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2430 -#: templates/js/translated/purchase_order.js:2015 -#: templates/js/translated/purchase_order.js:2179 -#: templates/js/translated/return_order.js:773 +#: templates/js/translated/part.js:2451 +#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:2183 +#: templates/js/translated/return_order.js:777 #: templates/js/translated/sales_order.js:1053 #: templates/js/translated/sales_order.js:1984 msgid "Link" msgstr "" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:735 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2229 -#: common/models.py:2230 common/models.py:2443 common/models.py:2444 -#: common/models.py:2700 common/models.py:2701 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:224 plugin/models.py:225 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3007 msgid "User" msgstr "" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2429 -#: common/models.py:2877 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:164 templates/InvenTree/settings/mixins/urls.html:13 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:426 #: templates/js/translated/company.js:666 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:903 #: templates/js/translated/company.js:1155 -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1167 -#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1591 -#: templates/js/translated/part.js:2723 templates/js/translated/stock.js:2649 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1183 +#: templates/js/translated/part.js:1471 templates/js/translated/part.js:1607 +#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2687 msgid "Name" msgstr "" -#: InvenTree/models.py:672 build/models.py:168 +#: InvenTree/models.py:656 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:125 -#: company/models.py:451 company/models.py:730 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:177 -#: report/models.py:580 report/models.py:624 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:124 +#: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:151 +#: templates/InvenTree/settings/settings_staff_js.html:431 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2109 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2121 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1219 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:1602 -#: templates/js/translated/part.js:1937 templates/js/translated/part.js:2329 -#: templates/js/translated/part.js:2759 templates/js/translated/part.js:2847 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1824 -#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1953 templates/js/translated/part.js:2350 +#: templates/js/translated/part.js:2780 templates/js/translated/part.js:2868 +#: templates/js/translated/plugin.js:79 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2001 #: templates/js/translated/return_order.js:311 #: templates/js/translated/sales_order.js:799 #: templates/js/translated/sales_order.js:1809 -#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2681 templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" msgstr "" -#: InvenTree/models.py:673 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2690 +#: InvenTree/models.py:672 InvenTree/models.py:673 +#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" @@ -509,136 +511,136 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:713 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:714 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:728 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:756 +#: InvenTree/settings.py:814 msgid "Czech" msgstr "" -#: InvenTree/settings.py:757 +#: InvenTree/settings.py:815 msgid "Danish" msgstr "" -#: InvenTree/settings.py:758 +#: InvenTree/settings.py:816 msgid "German" msgstr "" -#: InvenTree/settings.py:759 +#: InvenTree/settings.py:817 msgid "Greek" msgstr "" -#: InvenTree/settings.py:760 +#: InvenTree/settings.py:818 msgid "English" msgstr "" -#: InvenTree/settings.py:761 +#: InvenTree/settings.py:819 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:762 +#: InvenTree/settings.py:820 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:763 +#: InvenTree/settings.py:821 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:764 +#: InvenTree/settings.py:822 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:765 +#: InvenTree/settings.py:823 msgid "French" msgstr "" -#: InvenTree/settings.py:766 +#: InvenTree/settings.py:824 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:767 +#: InvenTree/settings.py:825 msgid "Hindi" msgstr "" -#: InvenTree/settings.py:768 +#: InvenTree/settings.py:826 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:769 +#: InvenTree/settings.py:827 msgid "Italian" msgstr "" -#: InvenTree/settings.py:770 +#: InvenTree/settings.py:828 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:771 +#: InvenTree/settings.py:829 msgid "Korean" msgstr "" -#: InvenTree/settings.py:772 +#: InvenTree/settings.py:830 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:773 +#: InvenTree/settings.py:831 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:774 +#: InvenTree/settings.py:832 msgid "Polish" msgstr "" -#: InvenTree/settings.py:775 +#: InvenTree/settings.py:833 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:776 +#: InvenTree/settings.py:834 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:777 +#: InvenTree/settings.py:835 msgid "Russian" msgstr "" -#: InvenTree/settings.py:778 +#: InvenTree/settings.py:836 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:779 +#: InvenTree/settings.py:837 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:780 +#: InvenTree/settings.py:838 msgid "Thai" msgstr "" -#: InvenTree/settings.py:781 +#: InvenTree/settings.py:839 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:782 +#: InvenTree/settings.py:840 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:783 +#: InvenTree/settings.py:841 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/settings.py:784 +#: InvenTree/settings.py:842 msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1000 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -653,7 +655,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:558 +#: templates/js/translated/table_filters.js:594 msgid "Pending" msgstr "" @@ -687,7 +689,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -722,7 +724,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" @@ -778,7 +780,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" msgstr "" @@ -798,7 +800,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" msgstr "" @@ -814,7 +816,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:351 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" @@ -846,93 +848,93 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2493 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 -#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2502 +#: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 -#: templates/js/translated/table_filters.js:547 +#: templates/js/translated/table_filters.js:583 msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:384 -#: templates/js/translated/table_filters.js:539 +#: build/api.py:283 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1717 -#: templates/js/translated/build.js:2593 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 +#: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 -#: templates/js/translated/table_filters.js:531 +#: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2534 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:223 -#: templates/js/translated/part.js:673 templates/js/translated/part.js:675 -#: templates/js/translated/part.js:680 -#: templates/js/translated/table_filters.js:316 -#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/part.js:689 templates/js/translated/part.js:691 +#: templates/js/translated/part.js:696 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:571 msgid "Available" msgstr "" @@ -941,7 +943,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2814 +#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" msgstr "" @@ -964,18 +966,18 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2485 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2497 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2040 -#: templates/js/translated/return_order.js:722 +#: templates/js/translated/purchase_order.js:2044 +#: templates/js/translated/return_order.js:726 #: templates/js/translated/sales_order.js:1815 msgid "Reference" msgstr "" @@ -994,13 +996,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:958 part/serializers.py:1373 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1011,7 +1013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1019,28 +1021,28 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1716 -#: templates/js/translated/build.js:2132 templates/js/translated/build.js:2305 +#: templates/js/translated/build.js:1293 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2144 templates/js/translated/build.js:2317 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1922 templates/js/translated/part.js:1994 -#: templates/js/translated/part.js:2298 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1938 templates/js/translated/part.js:2010 +#: templates/js/translated/part.js:2319 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1823 -#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:1986 #: templates/js/translated/return_order.js:536 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/return_order.js:707 #: templates/js/translated/sales_order.js:297 #: templates/js/translated/sales_order.js:1194 #: templates/js/translated/sales_order.js:1595 #: templates/js/translated/sales_order.js:1793 -#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 -#: templates/js/translated/stock.js:2779 templates/js/translated/stock.js:3012 -#: templates/js/translated/stock.js:3149 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 +#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3202 msgid "Part" msgstr "" @@ -1056,8 +1058,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1704 +#: build/models.py:207 build/serializers.py:942 +#: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1098,17 +1100,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:739 stock/serializers.py:1223 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1123,8 +1125,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2217 +#: build/models.py:265 order/models.py:413 order/models.py:1765 +#: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1132,7 +1134,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2177 +#: build/models.py:279 templates/js/translated/build.js:2189 msgid "Issued by" msgstr "" @@ -1141,16 +1143,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2189 -#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/purchase_order.js:1742 #: templates/js/translated/return_order.js:356 -#: templates/js/translated/table_filters.js:491 +#: templates/js/translated/table_filters.js:527 msgid "Responsible" msgstr "" @@ -1164,7 +1166,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:733 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1179,9 +1181,9 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:309 common/models.py:118 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2114 -#: templates/js/translated/purchase_order.js:1685 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2126 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 #: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:48 @@ -1193,48 +1195,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1215 part/serializers.py:1536 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2251 -#: order/models.py:1086 order/models.py:1658 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1244,380 +1246,376 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1342 -#: templates/js/translated/build.js:1719 templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:726 templates/js/translated/build.js:1350 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2339 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:225 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:942 -#: templates/js/translated/part.js:1792 templates/js/translated/part.js:3284 +#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:958 +#: templates/js/translated/part.js:1808 templates/js/translated/part.js:3305 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2046 +#: templates/js/translated/purchase_order.js:1831 +#: templates/js/translated/purchase_order.js:2050 #: templates/js/translated/sales_order.js:314 #: templates/js/translated/sales_order.js:1196 #: templates/js/translated/sales_order.js:1515 #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1695 #: templates/js/translated/sales_order.js:1821 -#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2943 -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 +#: templates/js/translated/stock.js:3073 msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1614 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1617 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:930 -#: stock/serializers.py:1056 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1718 +#: templates/js/translated/build.js:1726 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1195 #: templates/js/translated/sales_order.js:1496 #: templates/js/translated/sales_order.js:1501 #: templates/js/translated/sales_order.js:1602 #: templates/js/translated/sales_order.js:1689 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2948 msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1295 +#: build/serializers.py:155 build/serializers.py:824 +#: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 -#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:736 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:970 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1091 stock/serializers.py:1362 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2342 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 +#: templates/js/translated/build.js:2354 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1508 #: templates/js/translated/sales_order.js:1616 #: templates/js/translated/sales_order.js:1624 #: templates/js/translated/sales_order.js:1703 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2133 -#: templates/js/translated/stock.js:2793 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2842 msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 -#: stock/serializers.py:703 stock/serializers.py:1230 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2161 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 -#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/purchase_order.js:1701 #: templates/js/translated/return_order.js:328 #: templates/js/translated/sales_order.js:816 -#: templates/js/translated/stock.js:2108 templates/js/translated/stock.js:2917 -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 +#: templates/js/translated/stock.js:3089 msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:943 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1734,16 +1732,16 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2209 templates/js/translated/part.js:1810 -#: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/build.js:2221 templates/js/translated/part.js:1826 +#: templates/js/translated/purchase_order.js:1718 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/return_order.js:344 -#: templates/js/translated/return_order.js:744 +#: templates/js/translated/return_order.js:748 #: templates/js/translated/sales_order.js:832 #: templates/js/translated/sales_order.js:1864 msgid "Target Date" @@ -1760,9 +1758,9 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:484 -#: templates/js/translated/table_filters.js:586 -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:663 msgid "Overdue" msgstr "" @@ -1772,8 +1770,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1783,7 +1781,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:766 #: templates/js/translated/sales_order.js:989 -#: templates/js/translated/stock.js:2846 +#: templates/js/translated/stock.js:2895 msgid "Sales Order" msgstr "" @@ -1795,7 +1793,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2126 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2138 msgid "Priority" msgstr "" @@ -1823,8 +1821,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2164 +#: build/templates/build/detail.html:49 order/models.py:1220 +#: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -1836,15 +1834,15 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:105 +#: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1353 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/build.js:1361 +#: templates/js/translated/model_renderers.js:233 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2122 -#: templates/js/translated/stock.js:3047 -#: templates/js/translated/table_filters.js:289 -#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:3096 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 msgid "Batch" msgstr "" @@ -1852,7 +1850,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2169 +#: templates/js/translated/build.js:2181 msgid "Created" msgstr "" @@ -1862,7 +1860,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:685 msgid "Completed" msgstr "" @@ -2009,11 +2007,11 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:70 +#: common/models.py:71 msgid "Updated" msgstr "" -#: common/models.py:71 +#: common/models.py:72 msgid "Timestamp of last update" msgstr "" @@ -2025,1438 +2023,1467 @@ msgstr "" msgid "Project description" msgstr "" -#: common/models.py:595 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:597 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:638 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:655 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:666 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:705 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:912 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:937 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:939 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:996 +#: common/models.py:994 +msgid "No plugin" +msgstr "" + +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:997 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1004 +#: common/models.py:1068 +msgid "Pending migrations" +msgstr "" + +#: common/models.py:1069 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1006 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1011 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1012 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1018 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1019 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1025 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1026 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1031 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1032 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1039 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1040 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1047 -msgid "Download from URL" -msgstr "" - -#: common/models.py:1048 -msgid "Allow download of remote images and files from external URL" -msgstr "" - -#: common/models.py:1054 -msgid "Download Size Limit" -msgstr "" - -#: common/models.py:1055 -msgid "Maximum allowable download size for remote image" -msgstr "" - -#: common/models.py:1066 -msgid "User-agent used to download from URL" -msgstr "" - -#: common/models.py:1067 -msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" - -#: common/models.py:1072 -msgid "Require confirm" -msgstr "" - -#: common/models.py:1073 -msgid "Require explicit user confirmation for certain action." -msgstr "" - -#: common/models.py:1079 -msgid "Tree Depth" -msgstr "" - -#: common/models.py:1080 -msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" - -#: common/models.py:1089 -msgid "Update Check Interval" -msgstr "" - -#: common/models.py:1090 -msgid "How often to check for updates (set to zero to disable)" -msgstr "" - -#: common/models.py:1096 common/models.py:1114 common/models.py:1121 -#: common/models.py:1132 common/models.py:1143 common/models.py:1374 -#: common/models.py:1398 common/models.py:1521 common/models.py:1777 -msgid "days" -msgstr "" - -#: common/models.py:1100 -msgid "Automatic Backup" -msgstr "" - -#: common/models.py:1101 -msgid "Enable automatic backup of database and media files" -msgstr "" - -#: common/models.py:1107 -msgid "Auto Backup Interval" -msgstr "" - -#: common/models.py:1108 -msgid "Specify number of days between automated backup events" -msgstr "" - #: common/models.py:1118 -msgid "Task Deletion Interval" +msgid "Currency Update Interval" msgstr "" #: common/models.py:1119 -msgid "Background task results will be deleted after specified number of days" +msgid "How often to update exchange rates (set to zero to disable)" +msgstr "" + +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 +msgid "days" msgstr "" #: common/models.py:1129 -msgid "Error Log Deletion Interval" +msgid "Currency Update Plugin" msgstr "" #: common/models.py:1130 -msgid "Error logs will be deleted after specified number of days" +msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1140 -msgid "Notification Deletion Interval" +#: common/models.py:1136 +msgid "Download from URL" msgstr "" -#: common/models.py:1141 -msgid "User notifications will be deleted after specified number of days" +#: common/models.py:1137 +msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1151 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" +#: common/models.py:1143 +msgid "Download Size Limit" msgstr "" -#: common/models.py:1152 -msgid "Enable barcode scanner support" +#: common/models.py:1144 +msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1158 -msgid "Barcode Input Delay" +#: common/models.py:1155 +msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1159 -msgid "Barcode input processing delay time" +#: common/models.py:1156 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1161 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1162 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1168 +msgid "Tree Depth" msgstr "" #: common/models.py:1169 -msgid "Barcode Webcam Support" +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1170 -msgid "Allow barcode scanning via webcam in browser" +#: common/models.py:1178 +msgid "Update Check Interval" msgstr "" -#: common/models.py:1176 -msgid "Part Revisions" -msgstr "" - -#: common/models.py:1177 -msgid "Enable revision field for Part" -msgstr "" - -#: common/models.py:1183 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1184 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1188 -msgid "Allow Duplicate IPN" +#: common/models.py:1179 +msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1189 -msgid "Allow multiple parts to share the same IPN" +msgid "Automatic Backup" msgstr "" -#: common/models.py:1195 -msgid "Allow Editing IPN" +#: common/models.py:1190 +msgid "Enable automatic backup of database and media files" msgstr "" #: common/models.py:1196 -msgid "Allow changing the IPN value while editing a part" +msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1202 -msgid "Copy Part BOM Data" +#: common/models.py:1197 +msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1203 -msgid "Copy BOM data by default when duplicating a part" +#: common/models.py:1207 +msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1209 -msgid "Copy Part Parameter Data" +#: common/models.py:1208 +msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1210 -msgid "Copy parameter data by default when duplicating a part" +#: common/models.py:1218 +msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1216 -msgid "Copy Part Test Data" +#: common/models.py:1219 +msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1217 -msgid "Copy test data by default when duplicating a part" +#: common/models.py:1229 +msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1223 -msgid "Copy Category Parameter Templates" +#: common/models.py:1230 +msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1224 -msgid "Copy category parameter templates when creating a part" +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" msgstr "" -#: common/models.py:1230 part/admin.py:55 part/models.py:3621 -#: report/models.py:170 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:727 -msgid "Template" +#: common/models.py:1241 +msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1231 -msgid "Parts are templates by default" +#: common/models.py:1247 +msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1237 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 -#: templates/js/translated/table_filters.js:306 -#: templates/js/translated/table_filters.js:681 -msgid "Assembly" +#: common/models.py:1248 +msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1238 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1244 part/admin.py:52 part/models.py:1007 -#: templates/js/translated/table_filters.js:689 -msgid "Component" -msgstr "" - -#: common/models.py:1245 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1251 part/admin.py:53 part/models.py:1018 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1252 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1258 part/admin.py:54 part/models.py:1023 -#: templates/js/translated/table_filters.js:715 -msgid "Salable" +#: common/models.py:1258 +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:1259 -msgid "Parts are salable by default" +msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1265 part/admin.py:56 part/models.py:1013 -#: templates/js/translated/table_filters.js:147 -#: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:731 -msgid "Trackable" +#: common/models.py:1265 +msgid "Part Revisions" msgstr "" #: common/models.py:1266 -msgid "Parts are trackable by default" +msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1272 part/admin.py:57 part/models.py:1033 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:735 -msgid "Virtual" +#: common/models.py:1272 +msgid "IPN Regex" msgstr "" #: common/models.py:1273 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1277 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1278 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1284 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1285 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1291 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1292 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1298 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1299 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1305 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1306 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1312 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1313 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:763 +msgid "Template" +msgstr "" + +#: common/models.py:1320 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:717 +msgid "Assembly" +msgstr "" + +#: common/models.py:1327 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1333 part/admin.py:52 part/models.py:999 +#: templates/js/translated/table_filters.js:725 +msgid "Component" +msgstr "" + +#: common/models.py:1334 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1341 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 +#: templates/js/translated/table_filters.js:751 +msgid "Salable" +msgstr "" + +#: common/models.py:1348 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 +#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:767 +msgid "Trackable" +msgstr "" + +#: common/models.py:1355 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:771 +msgid "Virtual" +msgstr "" + +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1279 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1280 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1286 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1293 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1294 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1300 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1301 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1307 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1308 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1315 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1316 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1321 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1322 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1328 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1329 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1339 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1340 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1350 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1351 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1357 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1358 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1364 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1365 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1371 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1372 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1382 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1383 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1389 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1390 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1396 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1397 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1407 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1408 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1414 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1415 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1421 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1422 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1428 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1429 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1438 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1439 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1445 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1446 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1452 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1453 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1463 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1464 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1470 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1471 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1477 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1478 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1484 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1485 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1491 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1492 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1498 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1499 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1504 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1505 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1511 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1512 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1518 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1519 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1526 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1527 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1533 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1534 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1540 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1541 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1546 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1547 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1553 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1554 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1560 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1561 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1567 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1568 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1574 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1575 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1581 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1582 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1588 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1589 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1595 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1596 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1602 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1603 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1609 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1610 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1617 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1618 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1624 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1625 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1631 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1632 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1638 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1639 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1645 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1646 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1652 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1653 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1659 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1660 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1666 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1667 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1673 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1674 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1681 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1687 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1688 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1694 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1695 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1703 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1704 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1711 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1712 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1719 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1720 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1727 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1728 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1735 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1736 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1743 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1744 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1750 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1751 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1757 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1758 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1764 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1765 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1774 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1775 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1792 common/models.py:2222 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1833 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1840 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1841 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1847 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1848 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1854 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1855 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1861 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1862 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1868 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1869 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1875 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1876 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1882 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1883 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1889 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1890 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1896 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1897 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1903 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:1904 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1910 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:1911 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1917 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:1918 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1924 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1925 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1931 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:1932 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1938 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1939 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1945 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1946 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1952 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1953 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1959 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:1960 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1966 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:1967 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1973 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:1974 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1980 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:1981 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1987 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:1988 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1994 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1995 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2001 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2002 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2008 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2009 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2015 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2016 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2022 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2023 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2029 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2030 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2036 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2037 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2043 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2044 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2050 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2051 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2057 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2058 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2064 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2065 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2071 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2072 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2078 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2079 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2085 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2086 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2092 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2093 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2099 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2100 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2106 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2107 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2113 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2114 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2120 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2121 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2127 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2128 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2134 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2135 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2141 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2142 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2156 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2157 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2163 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2164 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2170 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2171 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2180 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2181 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2189 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2190 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2198 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2199 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2207 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2208 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2252 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2259 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1952 -#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1864 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 +#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:734 +#: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2260 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2420 common/models.py:2598 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2421 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2430 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2435 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:464 -#: templates/js/translated/table_filters.js:480 -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:712 msgid "Active" msgstr "" -#: common/models.py:2436 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2450 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2451 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2458 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2459 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2565 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2566 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2574 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2575 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2582 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2583 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2589 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2590 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2599 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2604 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2605 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2759 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2765 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2775 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2780 templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2785 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2790 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2791 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2811 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3466,56 +3493,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2812 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2856 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2878 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2884 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2885 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2891 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2892 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3546,7 +3573,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3588,7 +3615,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3630,301 +3657,301 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:675 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:438 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:756 +#: templates/js/translated/table_filters.js:792 msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:444 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1781 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1797 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2032 msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2286 templates/js/translated/company.js:1156 -#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1473 -#: templates/js/translated/stock.js:1464 +#: stock/models.py:2348 templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 +#: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1492 -#: templates/js/translated/part.js:1596 templates/js/translated/part.js:2344 +#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 +#: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:427 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 -#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1749 +#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1765 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1668 -#: templates/js/translated/table_filters.js:760 +#: templates/js/translated/purchase_order.js:1672 +#: templates/js/translated/table_filters.js:796 msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:433 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1767 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1825 -#: templates/js/translated/purchase_order.js:2003 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2007 msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:433 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:119 stock/models.py:701 stock/serializers.py:1238 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2356 +#: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 +#: company/models.py:741 templates/js/translated/company.js:1641 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2059 -#: templates/js/translated/purchase_order.js:2076 +#: templates/js/translated/purchase_order.js:2063 +#: templates/js/translated/purchase_order.js:2080 msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -3986,17 +4013,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1751 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:985 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:293 #: templates/js/translated/sales_order.js:781 -#: templates/js/translated/stock.js:2881 -#: templates/js/translated/table_filters.js:764 +#: templates/js/translated/stock.js:2930 +#: templates/js/translated/table_filters.js:800 msgid "Customer" msgstr "" @@ -4004,7 +4031,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4168,7 +4195,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4199,7 +4226,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4220,7 +4247,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1403 +#: templates/js/translated/part.js:1419 msgid "Add Parameter" msgstr "" @@ -4249,11 +4276,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:684 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2212 +#: templates/js/translated/stock.js:2250 msgid "Supplier Part" msgstr "" @@ -4309,7 +4336,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 -#: templates/js/translated/stock.js:503 +#: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4339,15 +4366,15 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:48 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1041 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2699 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1057 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4356,28 +4383,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4397,7 +4424,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:277 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4421,7 +4448,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:270 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4435,8 +4462,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:298 report/models.py:445 -#: report/models.py:483 report/models.py:521 report/models.py:645 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4453,573 +4480,573 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/purchase_order.js:2104 #: templates/js/translated/sales_order.js:1844 msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1726 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1742 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 -#: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2192 templates/js/translated/stock.js:2829 +#: templates/js/translated/purchase_order.js:1656 +#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1922 order/models.py:1968 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:278 -#: templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2912 msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1677 +#: order/models.py:395 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1774 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1775 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1781 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1768 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1769 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1849 templates/js/translated/part.js:1880 +#: order/models.py:1201 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2144 -#: templates/js/translated/return_order.js:757 +#: templates/js/translated/purchase_order.js:2148 +#: templates/js/translated/return_order.js:761 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:562 +#: templates/js/translated/table_filters.js:598 msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:823 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2243 +#: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1640 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:433 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1605 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1607 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1610 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1620 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1623 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1624 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1632 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1641 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:715 +#: order/models.py:1640 order/models.py:1910 +#: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1655 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1658 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1738 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1752 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1763 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1914 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1930 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1935 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1936 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:726 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1947 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1953 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5187,12 +5214,12 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1602 +#: templates/js/translated/build.js:1610 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:503 #: templates/js/translated/sales_order.js:1106 -#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5315,8 +5342,8 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/part.js:1069 +#: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/return_order.js:378 #: templates/js/translated/sales_order.js:852 msgid "Total Cost" @@ -5376,7 +5403,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5406,47 +5433,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 -#: stock/admin.py:101 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 +#: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 -#: stock/admin.py:102 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 +#: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1207 templates/js/translated/part.js:2315 -#: templates/js/translated/stock.js:1968 +#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 +#: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:183 templates/js/translated/part.js:1212 -#: templates/js/translated/part.js:2321 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 +#: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5454,23 +5481,23 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1679 -#: templates/js/translated/table_filters.js:331 +#: templates/js/translated/table_filters.js:355 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2585 -#: templates/js/translated/part.js:690 templates/js/translated/part.js:2127 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 +#: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" @@ -5479,107 +5506,107 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:695 templates/js/translated/part.js:2131 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:142 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:2147 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:950 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:960 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:336 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2778 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2799 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5588,7 +5615,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5603,9 +5630,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2705 +#: part/models.py:134 stock/models.py:187 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" @@ -5621,11 +5648,12 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:145 stock/models.py:113 +#: part/models.py:145 stock/models.py:85 stock/models.py:175 +#: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" msgstr "" -#: part/models.py:146 stock/models.py:114 +#: part/models.py:146 stock/models.py:176 msgid "Icon (optional)" msgstr "" @@ -5633,719 +5661,719 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:349 part/serializers.py:964 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2351 +#: templates/js/translated/part.js:2372 msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 -#: templates/js/translated/part.js:2445 +#: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 -#: templates/InvenTree/settings/settings_staff_js.html:436 -#: templates/js/translated/part.js:1066 templates/js/translated/pricing.js:826 +#: templates/InvenTree/settings/settings_staff_js.html:520 +#: templates/js/translated/part.js:1082 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2743 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/stock.js:2792 msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:425 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:432 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2842 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2851 -#: templates/js/translated/table_filters.js:453 +#: part/models.py:3311 templates/js/translated/part.js:2872 +#: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2859 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2866 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1608 -#: templates/js/translated/table_filters.js:781 +#: part/models.py:3445 templates/js/translated/part.js:1624 +#: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1617 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:577 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:350 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:391 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:452 msgid "Selected company is not a valid supplier" msgstr "" @@ -6353,186 +6381,186 @@ msgstr "" msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:732 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:452 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:732 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:737 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:737 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:748 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:981 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:996 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1382 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1515 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1518 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1538 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1559 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1047 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 -#: templates/js/translated/purchase_order.js:2059 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 +#: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:295 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:296 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6672,9 +6700,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2148 users/models.py:39 +#: templates/js/translated/stock.js:2186 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6748,7 +6776,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6772,15 +6800,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:654 +#: part/templates/part/detail.html:659 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:662 +#: part/templates/part/detail.html:667 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:747 +#: part/templates/part/detail.html:752 msgid "Add Test Result Template" msgstr "" @@ -6861,7 +6889,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2267 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2288 msgid "Part actions" msgstr "" @@ -6908,8 +6936,8 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:291 -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1199 +#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1215 msgid "Inactive" msgstr "" @@ -6932,7 +6960,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -6941,7 +6969,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1245 templates/js/translated/part.js:2418 +#: templates/js/translated/part.js:1261 templates/js/translated/part.js:2439 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -6964,7 +6992,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2261 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2282 msgid "part" msgstr "" @@ -7038,9 +7066,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2124 -#: templates/js/translated/part.js:2366 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:2002 templates/navbar.html:31 +#: templates/js/translated/part.js:1239 templates/js/translated/part.js:2140 +#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7069,11 +7097,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:129 +#: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2178 +#: templates/js/translated/stock.js:2216 msgid "Last Updated" msgstr "" @@ -7136,8 +7164,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:685 -#: templates/js/translated/part.js:2119 templates/js/translated/part.js:2121 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:701 +#: templates/js/translated/part.js:2135 templates/js/translated/part.js:2137 msgid "No Stock" msgstr "" @@ -7190,11 +7218,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7232,7 +7260,7 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:109 msgid "Missing barcode data" msgstr "" @@ -7244,12 +7272,12 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1387 +#: plugin/base/barcodes/api.py:119 +#: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:215 msgid "No match found for provided value" msgstr "" @@ -7267,6 +7295,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 msgid "InvenTree contributors" msgstr "" @@ -7305,10 +7334,18 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:24 +msgid "Default currency exchange integration" +msgstr "" + #: plugin/builtin/labels/inventree_label.py:20 msgid "InvenTree PDF label printer" msgstr "" @@ -7325,6 +7362,23 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" +#: plugin/installer.py:140 +msgid "Permission denied: only staff users can install plugins" +msgstr "" + +#: plugin/installer.py:186 +msgid "Installed plugin successfully" +msgstr "" + +#: plugin/installer.py:192 +#, python-brace-format +msgid "Installed plugin into {path}" +msgstr "" + +#: plugin/installer.py:201 +msgid "Plugin installation failed" +msgstr "" + #: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" @@ -7349,37 +7403,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:131 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:500 +msgid "Installed" +msgstr "" + +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:166 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:217 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:478 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:480 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:482 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7416,148 +7476,184 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:90 +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +msgid "InvenTree Contributors" +msgstr "" + +#: plugin/serializers.py:87 msgid "Source URL" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:88 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:96 +#: plugin/serializers.py:93 msgid "Package Name" msgstr "" -#: plugin/serializers.py:97 +#: plugin/serializers.py:94 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:97 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:101 +#: plugin/serializers.py:98 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:113 +#: plugin/serializers.py:110 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:115 +#: plugin/serializers.py:112 msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:193 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:194 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/models.py:165 -msgid "Template name" +#: report/helpers.py:13 +msgid "A4" +msgstr "" + +#: report/helpers.py:14 +msgid "A3" +msgstr "" + +#: report/helpers.py:15 +msgid "Legal" +msgstr "" + +#: report/helpers.py:16 +msgid "Letter" msgstr "" #: report/models.py:171 +msgid "Template name" +msgstr "" + +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:178 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:184 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:271 +#: report/models.py:198 +msgid "Page size for PDF reports" +msgstr "" + +#: report/models.py:203 +msgid "Landscape" +msgstr "" + +#: report/models.py:204 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:278 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:299 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:307 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:308 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:369 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:370 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:412 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:446 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:484 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:522 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:575 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:576 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:580 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:617 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:618 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:625 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:646 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7578,7 +7674,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/purchase_order.js:2094 #: templates/js/translated/sales_order.js:1834 msgid "Unit Price" msgstr "" @@ -7591,23 +7687,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1996 #: templates/js/translated/sales_order.js:1803 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1340 -#: templates/js/translated/build.js:2325 -#: templates/js/translated/model_renderers.js:219 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 +#: templates/js/translated/build.js:2337 +#: templates/js/translated/model_renderers.js:222 #: templates/js/translated/return_order.js:537 -#: templates/js/translated/return_order.js:717 +#: templates/js/translated/return_order.js:721 #: templates/js/translated/sales_order.js:312 #: templates/js/translated/sales_order.js:1608 #: templates/js/translated/sales_order.js:1693 -#: templates/js/translated/stock.js:562 +#: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" @@ -7624,12 +7720,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2274 templates/js/translated/stock.js:1437 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2280 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7655,356 +7751,377 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:3030 +#: stock/admin.py:122 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3079 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:109 +#: stock/admin.py:41 stock/admin.py:127 msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/admin.py:45 stock/templates/stock/location.html:130 #: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:118 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:107 +#: stock/admin.py:125 msgid "Status Code" msgstr "" -#: stock/admin.py:110 +#: stock/admin.py:128 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:111 +#: stock/admin.py:129 msgid "Supplier ID" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:130 msgid "Supplier Name" msgstr "" -#: stock/admin.py:113 +#: stock/admin.py:131 msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:708 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" -#: stock/admin.py:115 +#: stock/admin.py:133 msgid "Build ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:135 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:118 +#: stock/admin.py:136 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 +#: stock/admin.py:143 msgid "Review Needed" msgstr "" -#: stock/admin.py:126 +#: stock/admin.py:144 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:789 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:434 templates/js/translated/table_filters.js:403 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:641 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:648 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:676 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:685 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:708 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:54 stock/models.py:692 +#: stock/models.py:56 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:57 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:178 +#: stock/models.py:117 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:118 stock/models.py:828 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:119 stock/models.py:829 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" -#: stock/models.py:126 +#: stock/models.py:189 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2714 +#: stock/models.py:195 templates/js/translated/stock.js:2752 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:133 +#: stock/models.py:196 msgid "This is an external stock location" msgstr "" -#: stock/models.py:175 +#: stock/models.py:202 templates/js/translated/stock.js:2761 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:205 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:270 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:557 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:600 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:610 stock/models.py:619 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:611 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:633 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:639 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:653 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:667 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:677 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:685 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:695 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:702 stock/serializers.py:1239 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:711 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:727 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:741 stock/serializers.py:1224 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:746 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:753 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:755 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:761 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:763 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:774 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:777 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:783 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:790 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:824 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:852 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1378 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1384 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1390 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1396 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1474 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1480 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1486 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1489 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:1135 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1500 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1508 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1702 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2250 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2256 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2275 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2281 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2294 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2300 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8016,141 +8133,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1092 stock/serializers.py:1363 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:986 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:992 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1000 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1010 stock/serializers.py:1270 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1099 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1104 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1105 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1110 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1111 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1121 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1260 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8191,7 +8308,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3177 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3230 msgid "Install Stock Item" msgstr "" @@ -8199,7 +8316,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 msgid "Add Test Result" msgstr "" @@ -8222,17 +8339,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1792 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1774 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1783 msgid "Remove stock" msgstr "" @@ -8241,12 +8358,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1801 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1817 +#: templates/js/translated/stock.js:1855 msgid "Assign to customer" msgstr "" @@ -8287,7 +8404,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2093 templates/navbar.html:38 +#: templates/js/translated/build.js:2105 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8353,7 +8470,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/build.js:2350 +#: templates/js/translated/build.js:2362 msgid "No location set" msgstr "" @@ -8371,7 +8488,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:438 -#: templates/js/translated/table_filters.js:411 +#: templates/js/translated/table_filters.js:435 msgid "Expired" msgstr "" @@ -8381,7 +8498,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:440 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" @@ -8390,7 +8507,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:508 -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1922 msgid "stock item" msgstr "" @@ -8422,7 +8539,7 @@ msgstr "" msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:659 +#: stock/templates/stock/item_base.html:663 msgid "Return to Stock" msgstr "" @@ -8500,20 +8617,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:279 -#: templates/js/translated/stock.js:2505 +#: stock/templates/stock/location.html:288 +#: templates/js/translated/stock.js:2543 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:307 +#: stock/templates/stock/location.html:316 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:380 +#: stock/templates/stock/location.html:389 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:391 +#: stock/templates/stock/location.html:400 msgid "Link Barcode to Stock Location" msgstr "" @@ -8823,7 +8940,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:41 -#: templates/js/translated/plugin.js:151 +#: templates/js/translated/plugin.js:150 msgid "Install Plugin" msgstr "" @@ -8849,7 +8966,7 @@ msgid "Plugin information" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 -#: templates/js/translated/plugin.js:89 +#: templates/js/translated/plugin.js:85 msgid "Version" msgstr "" @@ -8886,7 +9003,8 @@ msgid "Installation path" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 -#: templates/js/translated/plugin.js:77 +#: templates/js/translated/plugin.js:67 +#: templates/js/translated/table_filters.js:492 msgid "Builtin" msgstr "" @@ -8894,21 +9012,31 @@ msgstr "" msgid "This is a builtin plugin which cannot be disabled" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:106 +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:71 +#: templates/js/translated/table_filters.js:496 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:110 +#: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:114 +#: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:118 +#: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" msgstr "" @@ -8997,9 +9125,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:373 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:256 +#: templates/js/translated/forms.js:508 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:389 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:257 msgid "Delete" msgstr "" @@ -9034,12 +9162,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:288 -#: templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1642 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:289 -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1643 msgid "Delete Template" msgstr "" @@ -9047,18 +9175,44 @@ msgstr "" msgid "Edit Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:329 +#: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:364 +#: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:390 +#: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" msgstr "" +#: templates/InvenTree/settings/settings_staff_js.html:420 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:441 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:460 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:447 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:470 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:480 +#: templates/InvenTree/settings/stock.html:35 +msgid "New Location Type" +msgstr "" + #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -9077,9 +9231,9 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:543 templates/navbar.html:107 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 +#: templates/js/translated/forms.js:2045 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" msgstr "" @@ -9112,6 +9266,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/stock.html:31 +msgid "Stock Location Types" +msgstr "" + #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" msgstr "" @@ -9421,7 +9579,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:728 msgid "Confirm" msgstr "" @@ -9601,18 +9759,26 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:102 +#: templates/base.html:103 msgid "Server Restart Required" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" msgstr "" +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + #: templates/email/build_order_completed.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 @@ -9641,7 +9807,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9655,15 +9821,15 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3161 +#: templates/js/translated/part.js:3182 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1124 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" msgstr "" @@ -9675,27 +9841,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1134 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1139 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1140 +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1144 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1145 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 msgid "The requested resource could not be located on the server" msgstr "" @@ -9707,19 +9873,27 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1149 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1150 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 msgid "Connection timeout while requesting data from server" msgstr "" #: templates/js/translated/api.js:261 -msgid "Unhandled Error Code" +msgid "Error 503: Service Unavailable" msgstr "" #: templates/js/translated/api.js:262 +msgid "The server is currently unavailable" +msgstr "" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 msgid "Error code" msgstr "" @@ -9788,7 +9962,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:252 -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "Invalid server response" msgstr "" @@ -9812,7 +9986,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1155 msgid "Remove stock item" msgstr "" @@ -9883,8 +10057,8 @@ msgid "Row Data" msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 -#: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 -#: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 #: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -10002,7 +10176,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2473 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2485 msgid "Variant stock allowed" msgstr "" @@ -10010,74 +10184,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2567 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2571 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2573 -#: templates/js/translated/part.js:1237 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 +#: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2575 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2558 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2458 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10121,13 +10295,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 -#: templates/js/translated/stock.js:264 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 -#: templates/js/translated/stock.js:266 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 msgid "Latest serial number" msgstr "" @@ -10179,13 +10353,13 @@ msgstr "" msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 -#: templates/js/translated/build.js:818 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:700 +#: templates/js/translated/build.js:826 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 -#: templates/js/translated/build.js:819 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:701 +#: templates/js/translated/build.js:827 msgid "At least one build output must be selected" msgstr "" @@ -10193,264 +10367,265 @@ msgstr "" msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 -#: templates/js/translated/build.js:841 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:725 +#: templates/js/translated/build.js:849 msgid "Output" msgstr "" -#: templates/js/translated/build.js:615 +#: templates/js/translated/build.js:619 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:712 +#: templates/js/translated/build.js:716 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:714 +#: templates/js/translated/build.js:718 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:715 +#: templates/js/translated/build.js:719 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:716 +#: templates/js/translated/build.js:720 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:743 +#: templates/js/translated/build.js:751 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:833 +#: templates/js/translated/build.js:841 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:843 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:844 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:862 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:941 +#: templates/js/translated/build.js:949 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2314 +#: templates/js/translated/build.js:978 templates/js/translated/build.js:2326 msgid "Allocated Quantity" msgstr "" -#: templates/js/translated/build.js:984 +#: templates/js/translated/build.js:992 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1006 +#: templates/js/translated/build.js:1014 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1024 +#: templates/js/translated/build.js:1032 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1042 +#: templates/js/translated/build.js:1050 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1096 +#: templates/js/translated/build.js:1104 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1097 +#: templates/js/translated/build.js:1105 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1109 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1270 +#: templates/js/translated/build.js:1278 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1363 +#: templates/js/translated/build.js:1371 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1377 +#: templates/js/translated/build.js:1385 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1549 +#: templates/js/translated/build.js:1557 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1550 +#: templates/js/translated/build.js:1558 #: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1613 +#: templates/js/translated/build.js:1621 #: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:1698 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1691 +#: templates/js/translated/build.js:1699 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1705 +#: templates/js/translated/build.js:1713 #: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1741 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:1752 #: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1817 +#: templates/js/translated/build.js:1825 #: templates/js/translated/sales_order.js:1359 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1914 +#: templates/js/translated/build.js:1922 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1915 +#: templates/js/translated/build.js:1923 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1917 +#: templates/js/translated/build.js:1925 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1926 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1919 +#: templates/js/translated/build.js:1927 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1946 +#: templates/js/translated/build.js:1958 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2052 +#: templates/js/translated/build.js:2064 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2087 templates/js/translated/build.js:2452 -#: templates/js/translated/part.js:2290 templates/js/translated/part.js:2716 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2643 +#: templates/js/translated/build.js:2099 templates/js/translated/build.js:2464 +#: templates/js/translated/forms.js:2041 templates/js/translated/forms.js:2057 +#: templates/js/translated/part.js:2311 templates/js/translated/part.js:2737 +#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2113 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2147 +#: templates/js/translated/build.js:2159 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/stock.js:2964 +#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2198 +#: templates/js/translated/build.js:2210 msgid "group" msgstr "" -#: templates/js/translated/build.js:2359 +#: templates/js/translated/build.js:2371 #: templates/js/translated/sales_order.js:1643 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2360 +#: templates/js/translated/build.js:2372 #: templates/js/translated/sales_order.js:1644 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2375 +#: templates/js/translated/build.js:2387 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2387 +#: templates/js/translated/build.js:2399 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2440 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2429 +#: templates/js/translated/build.js:2441 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2447 +#: templates/js/translated/build.js:2459 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2477 templates/js/translated/part.js:771 -#: templates/js/translated/part.js:1183 +#: templates/js/translated/build.js:2489 templates/js/translated/part.js:787 +#: templates/js/translated/part.js:1199 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2512 +#: templates/js/translated/build.js:2524 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2573 #: templates/js/translated/sales_order.js:1914 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2563 +#: templates/js/translated/build.js:2575 #: templates/js/translated/sales_order.js:1912 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2610 +#: templates/js/translated/build.js:2622 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2615 +#: templates/js/translated/build.js:2627 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2622 +#: templates/js/translated/build.js:2634 #: templates/js/translated/sales_order.js:2013 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2627 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1836 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2631 +#: templates/js/translated/build.js:2643 #: templates/js/translated/sales_order.js:2007 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2635 +#: templates/js/translated/build.js:2647 msgid "Remove stock allocation" msgstr "" @@ -10597,7 +10772,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1181 -#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2218 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2239 msgid "Order parts" msgstr "" @@ -10614,34 +10789,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1269 -#: templates/js/translated/company.js:1557 templates/js/translated/part.js:779 -#: templates/js/translated/part.js:1191 +#: templates/js/translated/company.js:1557 templates/js/translated/part.js:795 +#: templates/js/translated/part.js:1207 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1273 -#: templates/js/translated/company.js:1561 templates/js/translated/part.js:783 -#: templates/js/translated/part.js:1195 +#: templates/js/translated/company.js:1561 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1445 +#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1461 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1508 +#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1524 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1509 +#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1525 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1414 +#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1430 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1530 +#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1546 msgid "Delete Parameter" msgstr "" @@ -10737,61 +10912,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:369 templates/js/translated/forms.js:384 -#: templates/js/translated/forms.js:398 templates/js/translated/forms.js:412 +#: templates/js/translated/forms.js:371 templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:400 templates/js/translated/forms.js:414 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:373 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:388 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:402 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:414 +#: templates/js/translated/forms.js:416 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:752 +#: templates/js/translated/forms.js:754 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:853 +#: templates/js/translated/forms.js:855 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1401 templates/modals.html:19 +#: templates/js/translated/forms.js:1403 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1855 +#: templates/js/translated/forms.js:1857 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2161 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2285 +#: templates/js/translated/forms.js:2375 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2754 +#: templates/js/translated/forms.js:2844 msgid "Select Columns" msgstr "" @@ -10851,62 +11026,62 @@ msgstr "" msgid "Labels sent to printer" msgstr "" -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:152 -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:151 -#: templates/js/translated/modals.js:745 templates/js/translated/modals.js:1053 +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:156 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:439 +#: templates/js/translated/modals.js:445 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:590 +#: templates/js/translated/modals.js:596 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:682 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:734 +#: templates/js/translated/modals.js:740 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1023 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1129 +#: templates/js/translated/modals.js:1135 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1130 +#: templates/js/translated/modals.js:1136 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1153 +#: templates/js/translated/modals.js:1159 msgid "Error requesting form data" msgstr "" @@ -10916,7 +11091,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1585 +#: templates/js/translated/part.js:1601 msgid "ID" msgstr "" @@ -10965,7 +11140,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1965 +#: templates/js/translated/purchase_order.js:1969 msgid "No line items found" msgstr "" @@ -10997,339 +11172,339 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:305 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:313 templates/js/translated/stock.js:146 +#: templates/js/translated/part.js:329 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:349 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:336 +#: templates/js/translated/part.js:352 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:337 +#: templates/js/translated/part.js:353 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:351 +#: templates/js/translated/part.js:367 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:364 +#: templates/js/translated/part.js:380 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:385 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:394 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:398 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:387 +#: templates/js/translated/part.js:403 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:427 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:413 +#: templates/js/translated/part.js:429 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:430 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:442 +#: templates/js/translated/part.js:458 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:444 +#: templates/js/translated/part.js:460 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:471 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:512 +#: templates/js/translated/part.js:528 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:513 +#: templates/js/translated/part.js:529 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:543 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:529 +#: templates/js/translated/part.js:545 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:530 +#: templates/js/translated/part.js:546 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:547 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:554 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:574 +#: templates/js/translated/part.js:590 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:592 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:581 +#: templates/js/translated/part.js:597 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:583 +#: templates/js/translated/part.js:599 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:616 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:626 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:613 +#: templates/js/translated/part.js:629 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:638 +#: templates/js/translated/part.js:654 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:666 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/part.js:682 +#: templates/js/translated/table_filters.js:743 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:669 +#: templates/js/translated/part.js:685 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:729 +#: templates/js/translated/part.js:745 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:752 +#: templates/js/translated/part.js:768 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:775 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1203 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:787 +#: templates/js/translated/part.js:803 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:791 +#: templates/js/translated/part.js:807 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:878 +#: templates/js/translated/part.js:894 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:882 +#: templates/js/translated/part.js:898 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1031 +#: templates/js/translated/part.js:1047 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1089 templates/js/translated/part.js:1125 +#: templates/js/translated/part.js:1105 templates/js/translated/part.js:1141 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1093 templates/js/translated/part.js:1135 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1151 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1262 +#: templates/js/translated/part.js:1278 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1580 +#: templates/js/translated/part.js:1596 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1643 +#: templates/js/translated/part.js:1659 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1671 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1679 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1697 -#: templates/js/translated/purchase_order.js:1633 +#: templates/js/translated/part.js:1713 +#: templates/js/translated/purchase_order.js:1637 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1840 -#: templates/js/translated/purchase_order.js:2128 -#: templates/js/translated/return_order.js:749 +#: templates/js/translated/part.js:1856 +#: templates/js/translated/purchase_order.js:2132 +#: templates/js/translated/return_order.js:753 #: templates/js/translated/sales_order.js:1872 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1885 -#: templates/js/translated/purchase_order.js:2195 +#: templates/js/translated/part.js:1901 +#: templates/js/translated/purchase_order.js:2199 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1948 +#: templates/js/translated/part.js:1964 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1986 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2058 templates/js/translated/part.js:2480 +#: templates/js/translated/part.js:2074 templates/js/translated/part.js:2501 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2195 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2184 +#: templates/js/translated/part.js:2200 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2209 +#: templates/js/translated/part.js:2230 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2262 +#: templates/js/translated/part.js:2283 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2379 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2505 templates/js/translated/part.js:2635 -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 +#: templates/js/translated/stock.js:2640 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2521 +#: templates/js/translated/part.js:2542 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2619 +#: templates/js/translated/part.js:2640 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2655 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2735 +#: templates/js/translated/part.js:2756 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2751 +#: templates/js/translated/part.js:2772 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2849 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2879 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1436 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2880 templates/js/translated/stock.js:1399 -#: templates/js/translated/stock.js:1661 +#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1437 +#: templates/js/translated/stock.js:1699 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2884 +#: templates/js/translated/part.js:2905 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2921 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2914 +#: templates/js/translated/part.js:2935 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2993 templates/js/translated/part.js:2994 +#: templates/js/translated/part.js:3014 templates/js/translated/part.js:3015 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2996 +#: templates/js/translated/part.js:3017 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3002 +#: templates/js/translated/part.js:3023 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3073 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3079 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3154 +#: templates/js/translated/part.js:3175 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3170 +#: templates/js/translated/part.js:3191 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3215 +#: templates/js/translated/part.js:3236 msgid "Minimum Stock Level" msgstr "" @@ -11337,51 +11512,47 @@ msgstr "" msgid "No plugins found" msgstr "" -#: templates/js/translated/plugin.js:54 +#: templates/js/translated/plugin.js:57 +msgid "This plugin is no longer installed" +msgstr "" + +#: templates/js/translated/plugin.js:59 msgid "This plugin is active" msgstr "" -#: templates/js/translated/plugin.js:56 -msgid "This plugin is not active" +#: templates/js/translated/plugin.js:61 +msgid "This plugin is installed but not active" msgstr "" -#: templates/js/translated/plugin.js:62 -msgid "Plugin Description" -msgstr "" - -#: templates/js/translated/plugin.js:81 -msgid "Sample" -msgstr "" - -#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:116 templates/js/translated/plugin.js:185 msgid "Disable Plugin" msgstr "" -#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:118 templates/js/translated/plugin.js:185 msgid "Enable Plugin" msgstr "" -#: templates/js/translated/plugin.js:158 +#: templates/js/translated/plugin.js:157 msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/plugin.js:174 +#: templates/js/translated/plugin.js:176 msgid "Are you sure you want to enable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:178 +#: templates/js/translated/plugin.js:180 msgid "Are you sure you want to disable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Enable" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Disable" msgstr "" -#: templates/js/translated/plugin.js:200 +#: templates/js/translated/plugin.js:202 msgid "Plugin updated" msgstr "" @@ -11578,80 +11749,80 @@ msgstr "" msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:554 +#: templates/js/translated/purchase_order.js:1318 +#: templates/js/translated/return_order.js:558 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1315 +#: templates/js/translated/purchase_order.js:1319 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1387 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1384 +#: templates/js/translated/purchase_order.js:1388 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:1664 #: templates/js/translated/return_order.js:283 #: templates/js/translated/sales_order.js:771 #: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/purchase_order.js:1726 #: templates/js/translated/return_order.js:351 #: templates/js/translated/sales_order.js:848 #: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1818 +#: templates/js/translated/purchase_order.js:1822 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/purchase_order.js:1840 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1895 #: templates/js/translated/sales_order.js:2067 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/purchase_order.js:1910 #: templates/js/translated/return_order.js:473 -#: templates/js/translated/return_order.js:662 +#: templates/js/translated/return_order.js:666 #: templates/js/translated/sales_order.js:2080 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/return_order.js:675 +#: templates/js/translated/purchase_order.js:1921 +#: templates/js/translated/return_order.js:679 #: templates/js/translated/sales_order.js:2091 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/purchase_order.js:2203 #: templates/js/translated/sales_order.js:2021 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2200 -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:798 #: templates/js/translated/sales_order.js:2022 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/purchase_order.js:2205 +#: templates/js/translated/return_order.js:802 #: templates/js/translated/sales_order.js:2028 msgid "Delete line item" msgstr "" @@ -11714,16 +11885,16 @@ msgstr "" msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:555 +#: templates/js/translated/return_order.js:559 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:686 +#: templates/js/translated/return_order.js:690 #: templates/js/translated/sales_order.js:2227 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:791 +#: templates/js/translated/return_order.js:795 msgid "Mark item as received" msgstr "" @@ -11866,7 +12037,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 #: templates/js/translated/sales_order.js:1707 -#: templates/js/translated/stock.js:1706 +#: templates/js/translated/stock.js:1744 msgid "Shipped to customer" msgstr "" @@ -11928,464 +12099,472 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:97 +#: templates/js/translated/stock.js:98 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:128 +#: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:137 +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:172 +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:187 +#: templates/js/translated/stock.js:217 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:189 +#: templates/js/translated/stock.js:219 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:220 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:204 +#: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:211 +#: templates/js/translated/stock.js:241 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:220 +#: templates/js/translated/stock.js:250 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:224 +#: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:229 +#: templates/js/translated/stock.js:259 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:283 +#: templates/js/translated/stock.js:313 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:319 +#: templates/js/translated/stock.js:349 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:328 +#: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:334 +#: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:405 +#: templates/js/translated/stock.js:439 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:425 +#: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:441 +#: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:446 +#: templates/js/translated/stock.js:480 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:467 +#: templates/js/translated/stock.js:501 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:509 +#: templates/js/translated/stock.js:543 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:521 +#: templates/js/translated/stock.js:555 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:534 +#: templates/js/translated/stock.js:568 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:593 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:580 +#: templates/js/translated/stock.js:614 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:600 +#: templates/js/translated/stock.js:634 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:609 +#: templates/js/translated/stock.js:643 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:717 +#: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:752 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:795 +#: templates/js/translated/stock.js:829 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:830 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:798 +#: templates/js/translated/stock.js:832 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:833 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:928 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:929 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:1024 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:1025 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:993 +#: templates/js/translated/stock.js:1031 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:1032 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:998 +#: templates/js/translated/stock.js:1036 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:1037 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1003 +#: templates/js/translated/stock.js:1041 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:252 +#: templates/js/translated/stock.js:1042 users/models.py:253 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1046 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3258 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1224 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1322 +#: templates/js/translated/stock.js:1360 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1324 +#: templates/js/translated/stock.js:1362 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1329 +#: templates/js/translated/stock.js:1367 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1391 +#: templates/js/translated/stock.js:1429 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1432 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1418 +#: templates/js/translated/stock.js:1456 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1482 +#: templates/js/translated/stock.js:1520 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1682 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1666 +#: templates/js/translated/stock.js:1704 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1736 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1710 +#: templates/js/translated/stock.js:1748 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1716 +#: templates/js/translated/stock.js:1754 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:1810 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1819 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1830 +#: templates/js/translated/stock.js:1868 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:1923 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1890 +#: templates/js/translated/stock.js:1928 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1901 +#: templates/js/translated/stock.js:1939 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1945 +#: templates/js/translated/stock.js:1983 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2023 +#: templates/js/translated/stock.js:2061 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2069 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2034 +#: templates/js/translated/stock.js:2072 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2036 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2076 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2079 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2081 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2085 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2049 +#: templates/js/translated/stock.js:2087 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2092 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2056 +#: templates/js/translated/stock.js:2094 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2096 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2062 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/stock.js:2100 +#: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2227 +#: templates/js/translated/stock.js:2265 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2274 +#: templates/js/translated/stock.js:2312 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2402 +#: templates/js/translated/stock.js:2440 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2506 +#: templates/js/translated/stock.js:2544 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2699 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2817 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2772 +#: templates/js/translated/stock.js:2821 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2833 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2806 +#: templates/js/translated/stock.js:2855 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2872 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2838 +#: templates/js/translated/stock.js:2887 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2904 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2921 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2891 +#: templates/js/translated/stock.js:2940 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2909 +#: templates/js/translated/stock.js:2958 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/stock.js:2976 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/stock.js:2984 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3007 +#: templates/js/translated/stock.js:3056 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3057 templates/js/translated/stock.js:3092 +#: templates/js/translated/stock.js:3106 templates/js/translated/stock.js:3141 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3110 +#: templates/js/translated/stock.js:3163 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3131 +#: templates/js/translated/stock.js:3184 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3132 +#: templates/js/translated/stock.js:3185 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3134 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3135 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3136 +#: templates/js/translated/stock.js:3189 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3137 +#: templates/js/translated/stock.js:3190 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3150 +#: templates/js/translated/stock.js:3203 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3206 +#: templates/js/translated/stock.js:3259 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3219 +#: templates/js/translated/stock.js:3272 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3223 +#: templates/js/translated/stock.js:3276 msgid "Change Stock Status" msgstr "" @@ -12394,23 +12573,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:565 -#: templates/js/translated/table_filters.js:577 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:601 +#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:654 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:582 -#: templates/js/translated/table_filters.js:608 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:659 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:590 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Assigned to me" msgstr "" @@ -12431,12 +12610,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:775 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:234 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:345 msgid "Include sublocations" msgstr "" @@ -12444,210 +12623,210 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:254 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:671 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:263 -#: templates/js/translated/table_filters.js:719 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:356 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:277 -#: templates/js/translated/table_filters.js:363 -msgid "Serial number GTE" +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" msgstr "" #: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:364 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:707 +msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:281 -#: templates/js/translated/table_filters.js:367 -msgid "Serial number LTE" +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:755 +msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:368 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:359 -#: templates/js/translated/table_filters.js:360 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:290 -#: templates/js/translated/table_filters.js:381 -msgid "Batch code" +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:301 -#: templates/js/translated/table_filters.js:660 -msgid "Active parts" +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:696 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:335 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:365 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:346 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:372 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:376 +#: templates/js/translated/table_filters.js:400 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:385 +#: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:414 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:391 +#: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:412 +#: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:418 +#: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:432 +#: templates/js/translated/table_filters.js:456 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:436 +#: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:475 +#: templates/js/translated/table_filters.js:511 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:713 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:721 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:693 -#: templates/js/translated/table_filters.js:789 +#: templates/js/translated/table_filters.js:729 +#: templates/js/translated/table_filters.js:825 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:694 +#: templates/js/translated/table_filters.js:730 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:734 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:699 +#: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:703 +#: templates/js/translated/table_filters.js:739 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:711 +#: templates/js/translated/table_filters.js:747 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:723 +#: templates/js/translated/table_filters.js:759 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:785 +#: templates/js/translated/table_filters.js:821 msgid "Has Choices" msgstr "" @@ -12938,34 +13117,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:239 +#: users/models.py:240 msgid "Permission set" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Group" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "View" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "Permission to view items" msgstr "" -#: users/models.py:252 +#: users/models.py:253 msgid "Permission to add items" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Change" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Permissions to edit items" msgstr "" -#: users/models.py:256 +#: users/models.py:257 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index c85cb602a1..648f75953f 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Ningún valor proporcionado" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Ingrese la fecha" msgid "Notes" msgstr "Notas" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "El valor '{name}' no aparece en formato de patrón" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " @@ -98,99 +103,99 @@ msgstr "Confirmar contraseña nueva" msgid "Old password" msgstr "Contraseña anterior" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (de nuevo)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Confirmación de dirección de email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Debe escribir el mismo correo electrónico cada vez." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Registro deshabilitado." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Serie duplicada" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Rango de grupo no válido: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "El rango del grupo {g} supera la cantidad permitida ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Secuencia de grupo no válida: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Numeros de serie no encontrados" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Número único de número de serie ({s}) debe coincidir con la cantidad ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Eliminar etiquetas HTML de este valor" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "El servidor respondió con código de estado no válido" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "El servidor respondió con un valor de longitud de contenido inválido" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "La descarga de imagen excedió el tamaño máximo" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Iniciar sesión en la aplicación" msgid "Email" msgstr "Correo electrónico" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Los metadatos deben ser un objeto diccionario de python" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Metadatos del complemento" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadatos JSON, para uso por complementos externos" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Patrón con formato incorrecto" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Clave de formato especificado desconocida" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Falta la clave de formato necesaria" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "El campo de servidor no puede estar vacío" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "La referencia debe coincidir con la expresión regular {pattern}" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "El número de referencia es demasiado grande" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Archivo no encontrado" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Archivo adjunto" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Seleccionar archivo para adjuntar" msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Enlace a URL externa" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "fecha de subida" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "El nombre del archivo no debe estar vacío" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Directorio de archivos adjuntos no válido" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "El nombre del archivo contiene el carácter ilegal '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Falta el nombre de extensión del archivo" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Ya existe un archivo adjunto con este nombre" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Error al cambiar el nombre del archivo" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Selección no válida" msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nombre" msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "padre" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Notas de Markdown (opcional)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Nombre de Archivo" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Archivo de datos" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Seleccione el archivo para subir" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Tipo de archivo no soportado" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "El archivo es demasiado grande" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "No hay columnas en el archivo" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "No hay filas de datos en el archivo" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "No se proporcionaron filas de datos" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "No hay columnas de datos proporcionadas" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta la columna requerida: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Columna duplicada: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" @@ -634,7 +639,7 @@ msgstr "Chino (Simplificado)" msgid "Chinese (Traditional)" msgstr "Chino (Tradicional)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" @@ -683,7 +688,7 @@ msgstr "Devuelto" msgid "In Progress" msgstr "En progreso" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Reembolso" msgid "Reject" msgstr "Rechazo" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Unidad física inválida" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "No es un código de moneda válido" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "El valor excedente no debe ser negativo" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "El excedente no debe superar el 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Editar datos del usuario" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Configurar contraseña" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Contraseña incorrecta proporcionada" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Información del sistema" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consumible" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Consumible" msgid "Optional" msgstr "Opcional" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Opción no válida para la construcción padre" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Referencia de orden de venta" msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Estado de la construcción" msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Fecha de finalización" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Prioridad de construcción" msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Código del proyecto" msgid "Project code for this build order" msgstr "Código de proyecto para esta orden de ensamble" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Ensamblar equipo" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Ensamblar equipo" msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Debe proporcionarse una lista de salidas de construcción" msgid "Location" msgstr "Ubicación" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Ubicación para las salidas de construcción completadas" msgid "Status" msgstr "Estado" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Quitar inventario asignado" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Resta cualquier existencia que ya ha sido asignado a esta versión" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "Este artículo de stock ya ha sido asignado a esta salida de construcción" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Stock requerido para la orden de construcción" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Orden de construcción atrasada" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Salidas completadas" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "Fuente de stock" msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Destinación" @@ -2013,1372 +2014,1372 @@ msgstr "Actualizado" msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Código único del proyecto" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Descripción del proyecto" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Clave de configuración (debe ser única - mayúsculas y minúsculas)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Valor de ajuste" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "El valor elegido no es una opción válida" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "El valor debe ser un valor booleano" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "El valor debe ser un entero" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Cadena de clave debe ser única" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Sin grupo" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Un dominio vacío no está permitido." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nombre de dominio inválido: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Reinicio requerido" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Nombre de la instancia del servidor" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Descriptor de cadena para la instancia del servidor" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Usar nombre de instancia" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Utilice el nombre de la instancia en la barra de título" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Restringir mostrar 'acerca de'" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Mostrar la modal `about` solo para superusuarios" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nombre de empresa" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "URL base para la instancia del servidor" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Moneda predeterminada" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Seleccione la moneda base para los cálculos de precios" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "días" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Descargar desde URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Límite de tamaño de descarga" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Tamaño máximo de descarga permitido para la imagen remota" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "Agente de usuario usado para descargar desde la URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Requiere confirmación" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Requiere confirmación explícita del usuario para ciertas acciones." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Profundidad del árbol" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profundidad de árbol predeterminada para treeview. Los niveles más profundos pueden ser cargados perezosamente a medida que son necesarios." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Actualizar intervalo de actualización" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Copia de seguridad automática" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Intervalo de respaldo automático" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Intervalo de eliminación de tareas" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Intervalo de eliminación de registro de errores" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Los registros de errores se eliminarán después del número especificado de días" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Intervalo de eliminación de notificaciones" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Soporte de código de barras" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Retraso de entrada de código de barras" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Tiempo de retraso en la lectura de códigos de barras" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Soporte para Webcam de código de barras" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Revisiones de partes" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisión para parte" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Patrón de expresión regular para IPN de la parte coincidente" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Permitir IPN duplicado" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que varias partes compartan el mismo IPN" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Permitir editar IPN" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Permite cambiar el valor de IPN mientras se edita una parte" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Copiar parte de datos BOM" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar datos BOM por defecto al duplicar una parte" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Copiar parámetros de parte" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Copiar parte de datos de prueba" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Copiar plantillas de parámetros de categoría" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Plantilla" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Montaje" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Componente" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Comprable" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendible" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Rastreable" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtual" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Mostrar importación en vistas" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Mostrar el asistente de importación en algunas vistas de partes" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Precios internos" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Tamaño de página" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Habilitar informes de prueba" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Habilitar generación de informes de prueba" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Adjuntar informes de prueba" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Al imprimir un informe de prueba, adjuntar una copia del informe de prueba al artículo de almacén asociado" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina el comportamiento predeterminado cuando un artículo de almacén es agotado" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de devolución" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Email requerido" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Correo dos veces" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "Grupo al que se asignan nuevos usuarios al registrarse" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Habilitar códigos de proyecto" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "Habilitar códigos de proyecto para rastrear proyectos" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Ocultar partes inactivas" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Mostrar partes suscritas" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Mostrar las partes suscritas en la página principal" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Mostrar categorías suscritas" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorías de partes suscritas en la página de inicio" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Mostrar últimas partes" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Mostrar BOMs no validadas" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar BOMs que esperan validación en la página de inicio" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Mostrar novedades" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Búsqueda Regex" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Precio" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "Nombre para este webhook" msgid "Active" msgstr "Activo" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Token" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Clave" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Host" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Encabezado" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Leer" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "¿Esta noticia ya fue leída?" msgid "Image" msgstr "Imágen" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definición" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "Definición de unidad" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Nuevo {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Se ha creado un nuevo pedido y se le ha asignado" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Artículos Recibidos" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Los artículos han sido recibidos contra una orden de compra" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "Los artículos han sido recibidos contra una orden de devolución" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Error generado por el complemento" @@ -3571,7 +3572,7 @@ msgstr "Falló la coincidencia de campos" msgid "Parts imported" msgstr "Partes importadas" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Correo electrónico de contacto" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "¿Esta empresa fabrica partes?" msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Empresa" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Seleccionar empresa" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "Título de dirección" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "Título que describe la entrada de dirección" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "Dirección principal" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "Establecer como dirección principal" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Línea 1" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "Dirección línea 1" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Línea 2" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "Dirección línea 2" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Código postal" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "Ciudad/región" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "Código postal de ciudad/región" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "Estado/provincia" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "Estado o provincia" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "País" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "Dirección de país" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "Notas de envío de mensajería" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "Notas para el mensajero de envío" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "Notas de envío internas" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "Notas de envío para uso interno" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Parte base" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Seleccionar parte" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Seleccionar parte" msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Seleccionar fabricante" msgid "MPN" msgstr "MPN" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Parte del fabricante" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Valor" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Unidades" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "Las unidades de paquete deben ser mayor que cero" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte msgid "Supplier" msgstr "Proveedor" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Seleccionar proveedor" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Nota" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "costo base" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Paquetes" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Embalaje de partes" msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "múltiple" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" @@ -4011,10 +4014,10 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Usa la moneda predeterminada" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "Direcciones de la empresa" msgid "Add Address" msgstr "Añadir dirección" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabricantes" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "No hay información del fabricante disponible" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "Direcciones" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Enlazar código de barras a la parte del proveedor" msgid "Update Part Availability" msgstr "Actualizar disponibilidad de parte" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Elementos de stock" msgid "Supplier Part Pricing" msgstr "Precio de parte del proveedor" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Nuevo Proveedor" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Nuevo Fabricante" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Clientes" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Nuevo Cliente" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Empresas" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nueva empresa" @@ -4422,7 +4425,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Archivo de plantilla de etiqueta" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Habilitado" @@ -4446,7 +4449,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtros" @@ -4478,7 +4481,7 @@ msgstr "Código QR" msgid "QR code" msgstr "Código QR" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "Código QR" msgid "Total Price" msgstr "Precio Total" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "No se encontró ninguna orden de compra coincidente" msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Orden de compra" msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Desconocido" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "El contacto no coincide con la empresa seleccionada" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "Creado por" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "Dirección de la empresa para este pedido" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Empresa de la cual se están encargando los artículos" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "recibido por" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "enviado por" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "El pedido no se puede completar porque no se han asignado partes" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay partidas incompletas" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Referencia de partida" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Notas de partida" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "Descripción de partida (opcional)" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Contexto" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "eliminado" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Orden" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Parte del proveedor" msgid "Received" msgstr "Recibido" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Envío" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Línea" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Ítem" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "Empresa de la cual se están devolviendo los artículos" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Resultado" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "Salida para esta partida" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para esta partida" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "La partida no coincide con la orden de compra" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "Los siguientes números de serie ya están asignados" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "Moneda de precio de línea" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Orden de compra atrasada" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "La orden de compra {po} está atrasada" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Orden de venta atrasada" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "La orden de venta {so} está atrasada" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Envíos pendientes" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Acciones" @@ -5431,47 +5434,47 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nombre de parte" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Descripción de parte" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Revisión" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palabras claves" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "ID de Categoría" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Nombre de categoría" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "ID de ubicación predeterminada" @@ -5479,11 +5482,11 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5493,8 +5496,8 @@ msgstr "Stock mínimo" msgid "In Stock" msgstr "En Stock" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Usado en" msgid "Building" msgstr "En construcción" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "Identificador de la clase o especie padre" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "Nombre del padre" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Ruta de Categoría" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Ruta de Categoría" msgid "Parts" msgstr "Partes" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "Nivel de BOM" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "ID de artículo de BOM" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "IPN de la parte" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Precio máximo" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Orden de compra entrante" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Orden de venta saliente" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Válido" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Ubicación Predeterminada" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Inventario Total" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Stock Disponible" @@ -5613,7 +5616,7 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -5659,62 +5662,62 @@ msgstr "Icono (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Opción no válida para la parte principal" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "El IPN debe coincidir con la expresión regular {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Ya existe un artículo de almacén con este número de serie" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Category" msgstr "Categoría" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Número de parte interna" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Usuario responsable de esta parte" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "Fecha" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Informe" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requerido" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Casilla de verificación" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "Opciones" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opciones válidas para este parámetro (separados por comas)" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Datos" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Valor de ID de parte única" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Valor IPN de parte" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Nivel" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validado" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" @@ -6375,190 +6378,190 @@ msgstr "Número de parte del fabricante" msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "Cantidad Total" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "Costo total mínimo" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "Costo total máximo" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "Validar BOM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Añadir artículo al BOM" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "Puede construir" @@ -7216,11 +7219,11 @@ msgstr "Crear nueva variante de parte" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Base de datos desconocida" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "No se especificó ninguna acción" msgid "No matching action found" msgstr "No se encontró ninguna acción coincidente" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "Faltan datos de código de barras" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "No se encontró ninguna coincidencia para los datos del código de barras" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" @@ -7279,6 +7283,52 @@ msgstr "El código de barras coincide con artículo existente" msgid "No match found for provided value" msgstr "No hay coincidencias para el valor proporcionado" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Impresión de etiquetas fallida" @@ -7295,6 +7345,8 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "Contribuidores de InvenTree" @@ -7332,7 +7384,7 @@ msgstr "URL de webhook entrante de Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL que se utiliza para enviar mensajes a un canal de slack" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Abrir enlace" @@ -7360,20 +7412,68 @@ msgstr "Modo de depuración" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Activar modo de depuración - devuelve código HTML en lugar de PDF" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "Nombre del complemento" msgid "Is the plugin active" msgstr "Está activo el complemento" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "Instalado" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "Complemento de ejemplo" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "Complemento integrado" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Complemento" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "Método" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "El complemento requiere al menos la versión {v}" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "El complemento requiere como máximo la versión {v}" @@ -7514,31 +7614,35 @@ msgstr "Instalación no confirmada" msgid "Either packagename of URL must be provided" msgstr "Debe proporcionar cualquier nombre de paquete de la URL" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "Activar complemento" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "Activar este complemento" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "No se han proporcionado objetos válidos a la plantilla" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "Informe de la prueba" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Plantilla de informe" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Descripción de la plantilla de informe" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Número de revisión del informe (autoincremental)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "Patrón para generar nombres de archivo" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Plantilla de informe está habilitada" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta de Stock (lista separada por comas de pares clave=valor)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "Incluye Pruebas Instaladas" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "Incluye resultados de prueba para artículos de stock instalados dentro del artículo ensamblado" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "Crear filtros" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Filtros de partes" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de búsqueda de partes (lista separada por comas de pares clave=valor" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Filtros de búsqueda de orden de compra" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de ventas" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "Filtros de búsqueda de orden de devolución" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Activo" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "Descripción del archivo de activos" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "Resultados de la Prueba" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Prueba" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Resultado" @@ -7787,7 +7891,7 @@ msgstr "Nombre del proveedor" msgid "Customer ID" msgstr "ID de cliente" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Instalado en" @@ -7812,33 +7916,33 @@ msgstr "Revisión necesaria" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Ubicación de Stock" msgid "Stock Locations" msgstr "Ubicaciones de Stock" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Propietario" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Seleccionar Propietario" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Tipo de parte ('{pf}') debe ser {pe}" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "La cantidad debe ser 1 para el artículo con un número de serie" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "El objeto no puede pertenecer a sí mismo" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "El artículo debe tener una referencia de construcción si is_building=True" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "La referencia de la construcción no apunta al mismo objeto de parte" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Artículo de stock padre" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Parte base" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "¿Está este artículo instalado en otro artículo?" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Cantidad de Stock" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Build de origen" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "Build para este item de stock" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "Consumido por" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Orden de compra de origen" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Orden de compra para este artículo de stock" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Orden de venta de destino" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Eliminar al agotar" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Eliminar este artículo de stock cuando se agoten las existencias" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "Precio de compra único en el momento de la compra" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "Convertido a parte" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "La parte no está establecida como rastreable" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "Cantidad debe ser un entero" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "La cantidad no debe exceder la cantidad disponible de existencias ({n})" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "Los números de serie deben ser una lista de enteros" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de venta" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stock no se puede mover porque no está en stock" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Nombre del test" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "Notas de prueba" @@ -8127,141 +8231,141 @@ msgstr "El número de serie es demasiado grande" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "Campo de nota opcional" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta parte" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Cantidad requerida" @@ -10178,74 +10282,74 @@ msgstr "Stock de variante permitido" msgid "Substitutes" msgstr "Sustitutos" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "Validar Artículo para el BOM" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "Esta línea ha sido validada" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "Editar partes sustitutas" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Editar Artículo de BOM" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Eliminar Artículo de BOM" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Ver BOM" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "No se encontraron artículos BOM" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "Parte requerida" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Heredado de BOM superior" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index ac60f48dce..38670114f9 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: 2023-09-29 21:02+0000\n" +"POT-Creation-Date: 2023-10-18 03:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,71 +18,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:93 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:115 -msgid "Provided value is not a valid number" -msgstr "" - -#: InvenTree/conversion.py:117 -msgid "Provided value has an invalid unit" -msgstr "" - -#: InvenTree/conversion.py:122 -msgid "Provided value could not be converted to the specified unit" +#: InvenTree/conversion.py:125 +#, python-brace-format +msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:127 -msgid "Error" +msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2191 stock/models.py:2299 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:999 stock/serializers.py:1098 -#: stock/serializers.py:1259 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1061 -#: templates/js/translated/purchase_order.js:2175 -#: templates/js/translated/return_order.js:769 +#: templates/js/translated/part.js:1077 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/sales_order.js:1979 -#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" msgstr "" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -106,99 +104,99 @@ msgstr "" msgid "Old password" msgstr "" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -214,248 +212,252 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2293 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:494 common/models.py:2770 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:1309 +#: stock/admin.py:138 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2430 -#: templates/js/translated/purchase_order.js:2015 -#: templates/js/translated/purchase_order.js:2179 -#: templates/js/translated/return_order.js:773 +#: templates/js/translated/part.js:2451 +#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:2183 +#: templates/js/translated/return_order.js:777 #: templates/js/translated/sales_order.js:1053 #: templates/js/translated/sales_order.js:1984 msgid "Link" msgstr "" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:735 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2229 -#: common/models.py:2230 common/models.py:2443 common/models.py:2444 -#: common/models.py:2700 common/models.py:2701 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:224 plugin/models.py:225 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3007 msgid "User" msgstr "" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2429 -#: common/models.py:2877 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:164 templates/InvenTree/settings/mixins/urls.html:13 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:426 #: templates/js/translated/company.js:666 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:903 #: templates/js/translated/company.js:1155 -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1167 -#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1591 -#: templates/js/translated/part.js:2723 templates/js/translated/stock.js:2649 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1183 +#: templates/js/translated/part.js:1471 templates/js/translated/part.js:1607 +#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2687 msgid "Name" msgstr "" -#: InvenTree/models.py:672 build/models.py:168 +#: InvenTree/models.py:656 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:125 -#: company/models.py:451 company/models.py:730 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:177 -#: report/models.py:580 report/models.py:624 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:124 +#: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:151 +#: templates/InvenTree/settings/settings_staff_js.html:431 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2109 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2121 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1219 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:1602 -#: templates/js/translated/part.js:1937 templates/js/translated/part.js:2329 -#: templates/js/translated/part.js:2759 templates/js/translated/part.js:2847 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1824 -#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1953 templates/js/translated/part.js:2350 +#: templates/js/translated/part.js:2780 templates/js/translated/part.js:2868 +#: templates/js/translated/plugin.js:79 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2001 #: templates/js/translated/return_order.js:311 #: templates/js/translated/sales_order.js:799 #: templates/js/translated/sales_order.js:1809 -#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2681 templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" msgstr "" -#: InvenTree/models.py:673 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2690 +#: InvenTree/models.py:672 InvenTree/models.py:673 +#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" @@ -509,136 +511,136 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:713 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:714 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:728 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:756 +#: InvenTree/settings.py:814 msgid "Czech" msgstr "" -#: InvenTree/settings.py:757 +#: InvenTree/settings.py:815 msgid "Danish" msgstr "" -#: InvenTree/settings.py:758 +#: InvenTree/settings.py:816 msgid "German" msgstr "" -#: InvenTree/settings.py:759 +#: InvenTree/settings.py:817 msgid "Greek" msgstr "" -#: InvenTree/settings.py:760 +#: InvenTree/settings.py:818 msgid "English" msgstr "" -#: InvenTree/settings.py:761 +#: InvenTree/settings.py:819 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:762 +#: InvenTree/settings.py:820 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:763 +#: InvenTree/settings.py:821 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:764 +#: InvenTree/settings.py:822 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:765 +#: InvenTree/settings.py:823 msgid "French" msgstr "" -#: InvenTree/settings.py:766 +#: InvenTree/settings.py:824 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:767 +#: InvenTree/settings.py:825 msgid "Hindi" msgstr "" -#: InvenTree/settings.py:768 +#: InvenTree/settings.py:826 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:769 +#: InvenTree/settings.py:827 msgid "Italian" msgstr "" -#: InvenTree/settings.py:770 +#: InvenTree/settings.py:828 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:771 +#: InvenTree/settings.py:829 msgid "Korean" msgstr "" -#: InvenTree/settings.py:772 +#: InvenTree/settings.py:830 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:773 +#: InvenTree/settings.py:831 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:774 +#: InvenTree/settings.py:832 msgid "Polish" msgstr "" -#: InvenTree/settings.py:775 +#: InvenTree/settings.py:833 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:776 +#: InvenTree/settings.py:834 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:777 +#: InvenTree/settings.py:835 msgid "Russian" msgstr "" -#: InvenTree/settings.py:778 +#: InvenTree/settings.py:836 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:779 +#: InvenTree/settings.py:837 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:780 +#: InvenTree/settings.py:838 msgid "Thai" msgstr "" -#: InvenTree/settings.py:781 +#: InvenTree/settings.py:839 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:782 +#: InvenTree/settings.py:840 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:783 +#: InvenTree/settings.py:841 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/settings.py:784 +#: InvenTree/settings.py:842 msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1000 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -653,7 +655,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:558 +#: templates/js/translated/table_filters.js:594 msgid "Pending" msgstr "" @@ -687,7 +689,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -722,7 +724,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" @@ -778,7 +780,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" msgstr "" @@ -798,7 +800,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" msgstr "" @@ -814,7 +816,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:351 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" @@ -846,93 +848,93 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2493 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 -#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2502 +#: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 -#: templates/js/translated/table_filters.js:547 +#: templates/js/translated/table_filters.js:583 msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:384 -#: templates/js/translated/table_filters.js:539 +#: build/api.py:283 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1717 -#: templates/js/translated/build.js:2593 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 +#: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 -#: templates/js/translated/table_filters.js:531 +#: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2534 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:223 -#: templates/js/translated/part.js:673 templates/js/translated/part.js:675 -#: templates/js/translated/part.js:680 -#: templates/js/translated/table_filters.js:316 -#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/part.js:689 templates/js/translated/part.js:691 +#: templates/js/translated/part.js:696 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:571 msgid "Available" msgstr "" @@ -941,7 +943,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2814 +#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" msgstr "" @@ -964,18 +966,18 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2485 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2497 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2040 -#: templates/js/translated/return_order.js:722 +#: templates/js/translated/purchase_order.js:2044 +#: templates/js/translated/return_order.js:726 #: templates/js/translated/sales_order.js:1815 msgid "Reference" msgstr "" @@ -994,13 +996,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:958 part/serializers.py:1373 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1011,7 +1013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1019,28 +1021,28 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1716 -#: templates/js/translated/build.js:2132 templates/js/translated/build.js:2305 +#: templates/js/translated/build.js:1293 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2144 templates/js/translated/build.js:2317 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1922 templates/js/translated/part.js:1994 -#: templates/js/translated/part.js:2298 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1938 templates/js/translated/part.js:2010 +#: templates/js/translated/part.js:2319 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1823 -#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:1986 #: templates/js/translated/return_order.js:536 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/return_order.js:707 #: templates/js/translated/sales_order.js:297 #: templates/js/translated/sales_order.js:1194 #: templates/js/translated/sales_order.js:1595 #: templates/js/translated/sales_order.js:1793 -#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 -#: templates/js/translated/stock.js:2779 templates/js/translated/stock.js:3012 -#: templates/js/translated/stock.js:3149 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 +#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3202 msgid "Part" msgstr "" @@ -1056,8 +1058,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1704 +#: build/models.py:207 build/serializers.py:942 +#: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1098,17 +1100,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:739 stock/serializers.py:1223 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1123,8 +1125,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2217 +#: build/models.py:265 order/models.py:413 order/models.py:1765 +#: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1132,7 +1134,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2177 +#: build/models.py:279 templates/js/translated/build.js:2189 msgid "Issued by" msgstr "" @@ -1141,16 +1143,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2189 -#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/purchase_order.js:1742 #: templates/js/translated/return_order.js:356 -#: templates/js/translated/table_filters.js:491 +#: templates/js/translated/table_filters.js:527 msgid "Responsible" msgstr "" @@ -1164,7 +1166,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:733 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1179,9 +1181,9 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:309 common/models.py:118 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2114 -#: templates/js/translated/purchase_order.js:1685 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2126 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 #: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:48 @@ -1193,48 +1195,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1215 part/serializers.py:1536 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2251 -#: order/models.py:1086 order/models.py:1658 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1244,380 +1246,376 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1342 -#: templates/js/translated/build.js:1719 templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:726 templates/js/translated/build.js:1350 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2339 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:225 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:942 -#: templates/js/translated/part.js:1792 templates/js/translated/part.js:3284 +#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:958 +#: templates/js/translated/part.js:1808 templates/js/translated/part.js:3305 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2046 +#: templates/js/translated/purchase_order.js:1831 +#: templates/js/translated/purchase_order.js:2050 #: templates/js/translated/sales_order.js:314 #: templates/js/translated/sales_order.js:1196 #: templates/js/translated/sales_order.js:1515 #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1695 #: templates/js/translated/sales_order.js:1821 -#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2943 -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 +#: templates/js/translated/stock.js:3073 msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1614 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1617 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:930 -#: stock/serializers.py:1056 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1718 +#: templates/js/translated/build.js:1726 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1195 #: templates/js/translated/sales_order.js:1496 #: templates/js/translated/sales_order.js:1501 #: templates/js/translated/sales_order.js:1602 #: templates/js/translated/sales_order.js:1689 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2948 msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1295 +#: build/serializers.py:155 build/serializers.py:824 +#: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 -#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:736 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:970 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1091 stock/serializers.py:1362 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2342 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 +#: templates/js/translated/build.js:2354 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1508 #: templates/js/translated/sales_order.js:1616 #: templates/js/translated/sales_order.js:1624 #: templates/js/translated/sales_order.js:1703 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2133 -#: templates/js/translated/stock.js:2793 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2842 msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 -#: stock/serializers.py:703 stock/serializers.py:1230 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2161 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 -#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/purchase_order.js:1701 #: templates/js/translated/return_order.js:328 #: templates/js/translated/sales_order.js:816 -#: templates/js/translated/stock.js:2108 templates/js/translated/stock.js:2917 -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 +#: templates/js/translated/stock.js:3089 msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:943 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1734,16 +1732,16 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2209 templates/js/translated/part.js:1810 -#: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/build.js:2221 templates/js/translated/part.js:1826 +#: templates/js/translated/purchase_order.js:1718 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/return_order.js:344 -#: templates/js/translated/return_order.js:744 +#: templates/js/translated/return_order.js:748 #: templates/js/translated/sales_order.js:832 #: templates/js/translated/sales_order.js:1864 msgid "Target Date" @@ -1760,9 +1758,9 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:484 -#: templates/js/translated/table_filters.js:586 -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:663 msgid "Overdue" msgstr "" @@ -1772,8 +1770,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1783,7 +1781,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:766 #: templates/js/translated/sales_order.js:989 -#: templates/js/translated/stock.js:2846 +#: templates/js/translated/stock.js:2895 msgid "Sales Order" msgstr "" @@ -1795,7 +1793,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2126 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2138 msgid "Priority" msgstr "" @@ -1823,8 +1821,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2164 +#: build/templates/build/detail.html:49 order/models.py:1220 +#: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -1836,15 +1834,15 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:105 +#: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1353 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/build.js:1361 +#: templates/js/translated/model_renderers.js:233 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2122 -#: templates/js/translated/stock.js:3047 -#: templates/js/translated/table_filters.js:289 -#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:3096 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 msgid "Batch" msgstr "" @@ -1852,7 +1850,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2169 +#: templates/js/translated/build.js:2181 msgid "Created" msgstr "" @@ -1862,7 +1860,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:685 msgid "Completed" msgstr "" @@ -2009,11 +2007,11 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:70 +#: common/models.py:71 msgid "Updated" msgstr "" -#: common/models.py:71 +#: common/models.py:72 msgid "Timestamp of last update" msgstr "" @@ -2025,1438 +2023,1467 @@ msgstr "" msgid "Project description" msgstr "" -#: common/models.py:595 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:597 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:638 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:655 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:666 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:705 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:912 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:937 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:939 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:996 +#: common/models.py:994 +msgid "No plugin" +msgstr "" + +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:997 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1004 +#: common/models.py:1068 +msgid "Pending migrations" +msgstr "" + +#: common/models.py:1069 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1006 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1011 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1012 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1018 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1019 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1025 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1026 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1031 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1032 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1039 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1040 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1047 -msgid "Download from URL" -msgstr "" - -#: common/models.py:1048 -msgid "Allow download of remote images and files from external URL" -msgstr "" - -#: common/models.py:1054 -msgid "Download Size Limit" -msgstr "" - -#: common/models.py:1055 -msgid "Maximum allowable download size for remote image" -msgstr "" - -#: common/models.py:1066 -msgid "User-agent used to download from URL" -msgstr "" - -#: common/models.py:1067 -msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" - -#: common/models.py:1072 -msgid "Require confirm" -msgstr "" - -#: common/models.py:1073 -msgid "Require explicit user confirmation for certain action." -msgstr "" - -#: common/models.py:1079 -msgid "Tree Depth" -msgstr "" - -#: common/models.py:1080 -msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" - -#: common/models.py:1089 -msgid "Update Check Interval" -msgstr "" - -#: common/models.py:1090 -msgid "How often to check for updates (set to zero to disable)" -msgstr "" - -#: common/models.py:1096 common/models.py:1114 common/models.py:1121 -#: common/models.py:1132 common/models.py:1143 common/models.py:1374 -#: common/models.py:1398 common/models.py:1521 common/models.py:1777 -msgid "days" -msgstr "" - -#: common/models.py:1100 -msgid "Automatic Backup" -msgstr "" - -#: common/models.py:1101 -msgid "Enable automatic backup of database and media files" -msgstr "" - -#: common/models.py:1107 -msgid "Auto Backup Interval" -msgstr "" - -#: common/models.py:1108 -msgid "Specify number of days between automated backup events" -msgstr "" - #: common/models.py:1118 -msgid "Task Deletion Interval" +msgid "Currency Update Interval" msgstr "" #: common/models.py:1119 -msgid "Background task results will be deleted after specified number of days" +msgid "How often to update exchange rates (set to zero to disable)" +msgstr "" + +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 +msgid "days" msgstr "" #: common/models.py:1129 -msgid "Error Log Deletion Interval" +msgid "Currency Update Plugin" msgstr "" #: common/models.py:1130 -msgid "Error logs will be deleted after specified number of days" +msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1140 -msgid "Notification Deletion Interval" +#: common/models.py:1136 +msgid "Download from URL" msgstr "" -#: common/models.py:1141 -msgid "User notifications will be deleted after specified number of days" +#: common/models.py:1137 +msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1151 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" +#: common/models.py:1143 +msgid "Download Size Limit" msgstr "" -#: common/models.py:1152 -msgid "Enable barcode scanner support" +#: common/models.py:1144 +msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1158 -msgid "Barcode Input Delay" +#: common/models.py:1155 +msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1159 -msgid "Barcode input processing delay time" +#: common/models.py:1156 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1161 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1162 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1168 +msgid "Tree Depth" msgstr "" #: common/models.py:1169 -msgid "Barcode Webcam Support" +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1170 -msgid "Allow barcode scanning via webcam in browser" +#: common/models.py:1178 +msgid "Update Check Interval" msgstr "" -#: common/models.py:1176 -msgid "Part Revisions" -msgstr "" - -#: common/models.py:1177 -msgid "Enable revision field for Part" -msgstr "" - -#: common/models.py:1183 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1184 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1188 -msgid "Allow Duplicate IPN" +#: common/models.py:1179 +msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1189 -msgid "Allow multiple parts to share the same IPN" +msgid "Automatic Backup" msgstr "" -#: common/models.py:1195 -msgid "Allow Editing IPN" +#: common/models.py:1190 +msgid "Enable automatic backup of database and media files" msgstr "" #: common/models.py:1196 -msgid "Allow changing the IPN value while editing a part" +msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1202 -msgid "Copy Part BOM Data" +#: common/models.py:1197 +msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1203 -msgid "Copy BOM data by default when duplicating a part" +#: common/models.py:1207 +msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1209 -msgid "Copy Part Parameter Data" +#: common/models.py:1208 +msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1210 -msgid "Copy parameter data by default when duplicating a part" +#: common/models.py:1218 +msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1216 -msgid "Copy Part Test Data" +#: common/models.py:1219 +msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1217 -msgid "Copy test data by default when duplicating a part" +#: common/models.py:1229 +msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1223 -msgid "Copy Category Parameter Templates" +#: common/models.py:1230 +msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1224 -msgid "Copy category parameter templates when creating a part" +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" msgstr "" -#: common/models.py:1230 part/admin.py:55 part/models.py:3621 -#: report/models.py:170 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:727 -msgid "Template" +#: common/models.py:1241 +msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1231 -msgid "Parts are templates by default" +#: common/models.py:1247 +msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1237 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 -#: templates/js/translated/table_filters.js:306 -#: templates/js/translated/table_filters.js:681 -msgid "Assembly" +#: common/models.py:1248 +msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1238 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1244 part/admin.py:52 part/models.py:1007 -#: templates/js/translated/table_filters.js:689 -msgid "Component" -msgstr "" - -#: common/models.py:1245 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1251 part/admin.py:53 part/models.py:1018 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1252 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1258 part/admin.py:54 part/models.py:1023 -#: templates/js/translated/table_filters.js:715 -msgid "Salable" +#: common/models.py:1258 +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:1259 -msgid "Parts are salable by default" +msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1265 part/admin.py:56 part/models.py:1013 -#: templates/js/translated/table_filters.js:147 -#: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:731 -msgid "Trackable" +#: common/models.py:1265 +msgid "Part Revisions" msgstr "" #: common/models.py:1266 -msgid "Parts are trackable by default" +msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1272 part/admin.py:57 part/models.py:1033 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:735 -msgid "Virtual" +#: common/models.py:1272 +msgid "IPN Regex" msgstr "" #: common/models.py:1273 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1277 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1278 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1284 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1285 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1291 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1292 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1298 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1299 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1305 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1306 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1312 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1313 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:763 +msgid "Template" +msgstr "" + +#: common/models.py:1320 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:717 +msgid "Assembly" +msgstr "" + +#: common/models.py:1327 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1333 part/admin.py:52 part/models.py:999 +#: templates/js/translated/table_filters.js:725 +msgid "Component" +msgstr "" + +#: common/models.py:1334 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1341 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 +#: templates/js/translated/table_filters.js:751 +msgid "Salable" +msgstr "" + +#: common/models.py:1348 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 +#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:767 +msgid "Trackable" +msgstr "" + +#: common/models.py:1355 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:771 +msgid "Virtual" +msgstr "" + +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1279 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1280 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1286 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1293 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1294 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1300 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1301 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1307 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1308 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1315 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1316 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1321 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1322 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1328 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1329 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1339 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1340 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1350 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1351 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1357 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1358 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1364 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1365 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1371 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1372 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1382 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1383 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1389 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1390 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1396 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1397 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1407 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1408 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1414 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1415 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1421 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1422 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1428 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1429 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1438 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1439 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1445 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1446 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1452 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1453 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1463 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1464 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1470 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1471 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1477 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1478 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1484 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1485 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1491 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1492 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1498 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1499 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1504 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1505 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1511 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1512 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1518 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1519 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1526 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1527 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1533 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1534 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1540 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1541 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1546 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1547 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1553 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1554 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1560 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1561 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1567 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1568 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1574 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1575 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1581 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1582 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1588 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1589 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1595 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1596 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1602 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1603 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1609 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1610 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1617 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1618 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1624 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1625 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1631 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1632 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1638 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1639 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1645 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1646 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1652 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1653 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1659 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1660 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1666 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1667 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1673 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1674 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1681 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1687 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1688 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1694 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1695 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1703 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1704 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1711 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1712 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1719 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1720 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1727 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1728 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1735 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1736 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1743 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1744 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1750 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1751 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1757 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1758 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1764 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1765 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1774 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1775 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1792 common/models.py:2222 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1833 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1840 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1841 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1847 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1848 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1854 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1855 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1861 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1862 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1868 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1869 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1875 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1876 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1882 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1883 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1889 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1890 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1896 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1897 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1903 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:1904 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1910 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:1911 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1917 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:1918 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1924 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1925 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1931 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:1932 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1938 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1939 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1945 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1946 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1952 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1953 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1959 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:1960 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1966 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:1967 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1973 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:1974 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1980 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:1981 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1987 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:1988 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1994 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1995 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2001 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2002 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2008 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2009 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2015 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2016 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2022 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2023 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2029 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2030 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2036 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2037 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2043 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2044 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2050 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2051 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2057 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2058 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2064 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2065 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2071 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2072 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2078 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2079 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2085 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2086 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2092 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2093 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2099 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2100 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2106 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2107 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2113 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2114 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2120 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2121 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2127 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2128 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2134 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2135 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2141 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2142 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2156 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2157 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2163 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2164 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2170 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2171 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2180 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2181 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2189 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2190 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2198 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2199 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2207 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2208 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2252 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2259 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1952 -#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1864 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 +#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:734 +#: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2260 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2420 common/models.py:2598 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2421 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2430 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2435 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:464 -#: templates/js/translated/table_filters.js:480 -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:712 msgid "Active" msgstr "" -#: common/models.py:2436 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2450 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2451 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2458 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2459 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2565 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2566 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2574 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2575 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2582 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2583 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2589 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2590 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2599 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2604 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2605 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2759 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2765 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2775 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2780 templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2785 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2790 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2791 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2811 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3466,56 +3493,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2812 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2856 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2878 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2884 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2885 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2891 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2892 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3546,7 +3573,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3588,7 +3615,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3630,301 +3657,301 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:675 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:438 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:756 +#: templates/js/translated/table_filters.js:792 msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:444 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1781 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1797 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2032 msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2286 templates/js/translated/company.js:1156 -#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1473 -#: templates/js/translated/stock.js:1464 +#: stock/models.py:2348 templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 +#: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1492 -#: templates/js/translated/part.js:1596 templates/js/translated/part.js:2344 +#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 +#: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:427 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 -#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1749 +#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1765 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1668 -#: templates/js/translated/table_filters.js:760 +#: templates/js/translated/purchase_order.js:1672 +#: templates/js/translated/table_filters.js:796 msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:433 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1767 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1825 -#: templates/js/translated/purchase_order.js:2003 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2007 msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:433 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:119 stock/models.py:701 stock/serializers.py:1238 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2356 +#: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 +#: company/models.py:741 templates/js/translated/company.js:1641 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2059 -#: templates/js/translated/purchase_order.js:2076 +#: templates/js/translated/purchase_order.js:2063 +#: templates/js/translated/purchase_order.js:2080 msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -3986,17 +4013,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1751 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:985 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:293 #: templates/js/translated/sales_order.js:781 -#: templates/js/translated/stock.js:2881 -#: templates/js/translated/table_filters.js:764 +#: templates/js/translated/stock.js:2930 +#: templates/js/translated/table_filters.js:800 msgid "Customer" msgstr "" @@ -4004,7 +4031,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4168,7 +4195,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4199,7 +4226,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4220,7 +4247,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1403 +#: templates/js/translated/part.js:1419 msgid "Add Parameter" msgstr "" @@ -4249,11 +4276,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:684 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2212 +#: templates/js/translated/stock.js:2250 msgid "Supplier Part" msgstr "" @@ -4309,7 +4336,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 -#: templates/js/translated/stock.js:503 +#: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4339,15 +4366,15 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:48 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1041 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2699 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1057 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4356,28 +4383,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4397,7 +4424,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:277 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4421,7 +4448,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:270 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4435,8 +4462,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:298 report/models.py:445 -#: report/models.py:483 report/models.py:521 report/models.py:645 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4453,573 +4480,573 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/purchase_order.js:2104 #: templates/js/translated/sales_order.js:1844 msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1726 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1742 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 -#: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2192 templates/js/translated/stock.js:2829 +#: templates/js/translated/purchase_order.js:1656 +#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1922 order/models.py:1968 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:278 -#: templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2912 msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1677 +#: order/models.py:395 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1774 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1775 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1781 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1768 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1769 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1849 templates/js/translated/part.js:1880 +#: order/models.py:1201 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2144 -#: templates/js/translated/return_order.js:757 +#: templates/js/translated/purchase_order.js:2148 +#: templates/js/translated/return_order.js:761 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:562 +#: templates/js/translated/table_filters.js:598 msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:823 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2243 +#: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1640 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:433 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1605 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1607 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1610 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1620 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1623 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1624 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1632 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1641 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:715 +#: order/models.py:1640 order/models.py:1910 +#: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1655 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1658 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1738 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1752 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1763 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1914 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1930 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1935 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1936 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:726 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1947 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1953 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5187,12 +5214,12 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1602 +#: templates/js/translated/build.js:1610 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:503 #: templates/js/translated/sales_order.js:1106 -#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5315,8 +5342,8 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/part.js:1069 +#: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/return_order.js:378 #: templates/js/translated/sales_order.js:852 msgid "Total Cost" @@ -5376,7 +5403,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5406,47 +5433,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 -#: stock/admin.py:101 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 +#: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 -#: stock/admin.py:102 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 +#: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1207 templates/js/translated/part.js:2315 -#: templates/js/translated/stock.js:1968 +#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 +#: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:183 templates/js/translated/part.js:1212 -#: templates/js/translated/part.js:2321 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 +#: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5454,23 +5481,23 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1679 -#: templates/js/translated/table_filters.js:331 +#: templates/js/translated/table_filters.js:355 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2585 -#: templates/js/translated/part.js:690 templates/js/translated/part.js:2127 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 +#: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" @@ -5479,107 +5506,107 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:695 templates/js/translated/part.js:2131 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:142 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:2147 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:950 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:960 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:336 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2778 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2799 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5588,7 +5615,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5603,9 +5630,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2705 +#: part/models.py:134 stock/models.py:187 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" @@ -5621,11 +5648,12 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:145 stock/models.py:113 +#: part/models.py:145 stock/models.py:85 stock/models.py:175 +#: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" msgstr "" -#: part/models.py:146 stock/models.py:114 +#: part/models.py:146 stock/models.py:176 msgid "Icon (optional)" msgstr "" @@ -5633,719 +5661,719 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:349 part/serializers.py:964 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2351 +#: templates/js/translated/part.js:2372 msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 -#: templates/js/translated/part.js:2445 +#: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 -#: templates/InvenTree/settings/settings_staff_js.html:436 -#: templates/js/translated/part.js:1066 templates/js/translated/pricing.js:826 +#: templates/InvenTree/settings/settings_staff_js.html:520 +#: templates/js/translated/part.js:1082 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2743 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/stock.js:2792 msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:425 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:432 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2842 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2851 -#: templates/js/translated/table_filters.js:453 +#: part/models.py:3311 templates/js/translated/part.js:2872 +#: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2859 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2866 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1608 -#: templates/js/translated/table_filters.js:781 +#: part/models.py:3445 templates/js/translated/part.js:1624 +#: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1617 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:577 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:350 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:391 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:452 msgid "Selected company is not a valid supplier" msgstr "" @@ -6353,186 +6381,186 @@ msgstr "" msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:732 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:452 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:732 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:737 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:737 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:748 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:981 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:996 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1382 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1515 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1518 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1538 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1559 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1047 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 -#: templates/js/translated/purchase_order.js:2059 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 +#: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:295 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:296 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6672,9 +6700,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2148 users/models.py:39 +#: templates/js/translated/stock.js:2186 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6748,7 +6776,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6772,15 +6800,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:654 +#: part/templates/part/detail.html:659 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:662 +#: part/templates/part/detail.html:667 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:747 +#: part/templates/part/detail.html:752 msgid "Add Test Result Template" msgstr "" @@ -6861,7 +6889,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2267 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2288 msgid "Part actions" msgstr "" @@ -6908,8 +6936,8 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:291 -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1199 +#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1215 msgid "Inactive" msgstr "" @@ -6932,7 +6960,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -6941,7 +6969,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1245 templates/js/translated/part.js:2418 +#: templates/js/translated/part.js:1261 templates/js/translated/part.js:2439 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -6964,7 +6992,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2261 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2282 msgid "part" msgstr "" @@ -7038,9 +7066,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2124 -#: templates/js/translated/part.js:2366 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:2002 templates/navbar.html:31 +#: templates/js/translated/part.js:1239 templates/js/translated/part.js:2140 +#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7069,11 +7097,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:129 +#: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2178 +#: templates/js/translated/stock.js:2216 msgid "Last Updated" msgstr "" @@ -7136,8 +7164,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:685 -#: templates/js/translated/part.js:2119 templates/js/translated/part.js:2121 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:701 +#: templates/js/translated/part.js:2135 templates/js/translated/part.js:2137 msgid "No Stock" msgstr "" @@ -7190,11 +7218,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7232,7 +7260,7 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:109 msgid "Missing barcode data" msgstr "" @@ -7244,12 +7272,12 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1387 +#: plugin/base/barcodes/api.py:119 +#: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:215 msgid "No match found for provided value" msgstr "" @@ -7267,6 +7295,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 msgid "InvenTree contributors" msgstr "" @@ -7305,10 +7334,18 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:24 +msgid "Default currency exchange integration" +msgstr "" + #: plugin/builtin/labels/inventree_label.py:20 msgid "InvenTree PDF label printer" msgstr "" @@ -7325,6 +7362,23 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" +#: plugin/installer.py:140 +msgid "Permission denied: only staff users can install plugins" +msgstr "" + +#: plugin/installer.py:186 +msgid "Installed plugin successfully" +msgstr "" + +#: plugin/installer.py:192 +#, python-brace-format +msgid "Installed plugin into {path}" +msgstr "" + +#: plugin/installer.py:201 +msgid "Plugin installation failed" +msgstr "" + #: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" @@ -7349,37 +7403,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:131 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:500 +msgid "Installed" +msgstr "" + +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:166 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:217 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:478 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:480 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:482 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7416,148 +7476,184 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:90 +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +msgid "InvenTree Contributors" +msgstr "" + +#: plugin/serializers.py:87 msgid "Source URL" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:88 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:96 +#: plugin/serializers.py:93 msgid "Package Name" msgstr "" -#: plugin/serializers.py:97 +#: plugin/serializers.py:94 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:97 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:101 +#: plugin/serializers.py:98 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:113 +#: plugin/serializers.py:110 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:115 +#: plugin/serializers.py:112 msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:193 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:194 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/models.py:165 -msgid "Template name" +#: report/helpers.py:13 +msgid "A4" +msgstr "" + +#: report/helpers.py:14 +msgid "A3" +msgstr "" + +#: report/helpers.py:15 +msgid "Legal" +msgstr "" + +#: report/helpers.py:16 +msgid "Letter" msgstr "" #: report/models.py:171 +msgid "Template name" +msgstr "" + +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:178 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:184 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:271 +#: report/models.py:198 +msgid "Page size for PDF reports" +msgstr "" + +#: report/models.py:203 +msgid "Landscape" +msgstr "" + +#: report/models.py:204 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:278 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:299 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:307 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:308 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:369 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:370 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:412 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:446 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:484 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:522 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:575 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:576 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:580 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:617 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:618 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:625 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:646 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7578,7 +7674,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/purchase_order.js:2094 #: templates/js/translated/sales_order.js:1834 msgid "Unit Price" msgstr "" @@ -7591,23 +7687,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1996 #: templates/js/translated/sales_order.js:1803 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1340 -#: templates/js/translated/build.js:2325 -#: templates/js/translated/model_renderers.js:219 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 +#: templates/js/translated/build.js:2337 +#: templates/js/translated/model_renderers.js:222 #: templates/js/translated/return_order.js:537 -#: templates/js/translated/return_order.js:717 +#: templates/js/translated/return_order.js:721 #: templates/js/translated/sales_order.js:312 #: templates/js/translated/sales_order.js:1608 #: templates/js/translated/sales_order.js:1693 -#: templates/js/translated/stock.js:562 +#: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" @@ -7624,12 +7720,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2274 templates/js/translated/stock.js:1437 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2280 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7655,356 +7751,377 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:3030 +#: stock/admin.py:122 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3079 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:109 +#: stock/admin.py:41 stock/admin.py:127 msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/admin.py:45 stock/templates/stock/location.html:130 #: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:118 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:107 +#: stock/admin.py:125 msgid "Status Code" msgstr "" -#: stock/admin.py:110 +#: stock/admin.py:128 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:111 +#: stock/admin.py:129 msgid "Supplier ID" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:130 msgid "Supplier Name" msgstr "" -#: stock/admin.py:113 +#: stock/admin.py:131 msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:708 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" -#: stock/admin.py:115 +#: stock/admin.py:133 msgid "Build ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:135 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:118 +#: stock/admin.py:136 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 +#: stock/admin.py:143 msgid "Review Needed" msgstr "" -#: stock/admin.py:126 +#: stock/admin.py:144 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:789 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:434 templates/js/translated/table_filters.js:403 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:641 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:648 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:676 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:685 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:708 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:54 stock/models.py:692 +#: stock/models.py:56 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:57 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:178 +#: stock/models.py:117 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:118 stock/models.py:828 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:119 stock/models.py:829 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" -#: stock/models.py:126 +#: stock/models.py:189 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2714 +#: stock/models.py:195 templates/js/translated/stock.js:2752 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:133 +#: stock/models.py:196 msgid "This is an external stock location" msgstr "" -#: stock/models.py:175 +#: stock/models.py:202 templates/js/translated/stock.js:2761 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:205 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:270 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:557 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:600 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:610 stock/models.py:619 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:611 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:633 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:639 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:653 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:667 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:677 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:685 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:695 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:702 stock/serializers.py:1239 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:711 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:727 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:741 stock/serializers.py:1224 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:746 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:753 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:755 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:761 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:763 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:774 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:777 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:783 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:790 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:824 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:852 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1378 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1384 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1390 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1396 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1474 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1480 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1486 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1489 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:1135 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1500 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1508 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1702 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2250 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2256 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2275 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2281 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2294 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2300 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8016,141 +8133,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1092 stock/serializers.py:1363 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:986 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:992 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1000 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1010 stock/serializers.py:1270 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1099 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1104 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1105 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1110 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1111 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1121 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1260 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8191,7 +8308,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3177 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3230 msgid "Install Stock Item" msgstr "" @@ -8199,7 +8316,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 msgid "Add Test Result" msgstr "" @@ -8222,17 +8339,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1792 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1774 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1783 msgid "Remove stock" msgstr "" @@ -8241,12 +8358,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1801 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1817 +#: templates/js/translated/stock.js:1855 msgid "Assign to customer" msgstr "" @@ -8287,7 +8404,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2093 templates/navbar.html:38 +#: templates/js/translated/build.js:2105 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8353,7 +8470,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/build.js:2350 +#: templates/js/translated/build.js:2362 msgid "No location set" msgstr "" @@ -8371,7 +8488,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:438 -#: templates/js/translated/table_filters.js:411 +#: templates/js/translated/table_filters.js:435 msgid "Expired" msgstr "" @@ -8381,7 +8498,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:440 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" @@ -8390,7 +8507,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:508 -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1922 msgid "stock item" msgstr "" @@ -8422,7 +8539,7 @@ msgstr "" msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:659 +#: stock/templates/stock/item_base.html:663 msgid "Return to Stock" msgstr "" @@ -8500,20 +8617,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:279 -#: templates/js/translated/stock.js:2505 +#: stock/templates/stock/location.html:288 +#: templates/js/translated/stock.js:2543 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:307 +#: stock/templates/stock/location.html:316 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:380 +#: stock/templates/stock/location.html:389 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:391 +#: stock/templates/stock/location.html:400 msgid "Link Barcode to Stock Location" msgstr "" @@ -8823,7 +8940,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:41 -#: templates/js/translated/plugin.js:151 +#: templates/js/translated/plugin.js:150 msgid "Install Plugin" msgstr "" @@ -8849,7 +8966,7 @@ msgid "Plugin information" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 -#: templates/js/translated/plugin.js:89 +#: templates/js/translated/plugin.js:85 msgid "Version" msgstr "" @@ -8886,7 +9003,8 @@ msgid "Installation path" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 -#: templates/js/translated/plugin.js:77 +#: templates/js/translated/plugin.js:67 +#: templates/js/translated/table_filters.js:492 msgid "Builtin" msgstr "" @@ -8894,21 +9012,31 @@ msgstr "" msgid "This is a builtin plugin which cannot be disabled" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:106 +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:71 +#: templates/js/translated/table_filters.js:496 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:110 +#: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:114 +#: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:118 +#: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" msgstr "" @@ -8997,9 +9125,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:373 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:256 +#: templates/js/translated/forms.js:508 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:389 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:257 msgid "Delete" msgstr "" @@ -9034,12 +9162,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:288 -#: templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1642 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:289 -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1643 msgid "Delete Template" msgstr "" @@ -9047,18 +9175,44 @@ msgstr "" msgid "Edit Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:329 +#: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:364 +#: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:390 +#: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" msgstr "" +#: templates/InvenTree/settings/settings_staff_js.html:420 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:441 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:460 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:447 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:470 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:480 +#: templates/InvenTree/settings/stock.html:35 +msgid "New Location Type" +msgstr "" + #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -9077,9 +9231,9 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:543 templates/navbar.html:107 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 +#: templates/js/translated/forms.js:2045 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" msgstr "" @@ -9112,6 +9266,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/stock.html:31 +msgid "Stock Location Types" +msgstr "" + #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" msgstr "" @@ -9421,7 +9579,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:728 msgid "Confirm" msgstr "" @@ -9601,18 +9759,26 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:102 +#: templates/base.html:103 msgid "Server Restart Required" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" msgstr "" +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + #: templates/email/build_order_completed.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 @@ -9641,7 +9807,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9655,15 +9821,15 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3161 +#: templates/js/translated/part.js:3182 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1124 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" msgstr "" @@ -9675,27 +9841,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1134 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1139 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1140 +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1144 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1145 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 msgid "The requested resource could not be located on the server" msgstr "" @@ -9707,19 +9873,27 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1149 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1150 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 msgid "Connection timeout while requesting data from server" msgstr "" #: templates/js/translated/api.js:261 -msgid "Unhandled Error Code" +msgid "Error 503: Service Unavailable" msgstr "" #: templates/js/translated/api.js:262 +msgid "The server is currently unavailable" +msgstr "" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 msgid "Error code" msgstr "" @@ -9788,7 +9962,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:252 -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "Invalid server response" msgstr "" @@ -9812,7 +9986,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1155 msgid "Remove stock item" msgstr "" @@ -9883,8 +10057,8 @@ msgid "Row Data" msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 -#: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 -#: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 #: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -10002,7 +10176,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2473 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2485 msgid "Variant stock allowed" msgstr "" @@ -10010,74 +10184,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2567 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2571 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2573 -#: templates/js/translated/part.js:1237 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 +#: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2575 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2558 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2458 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10121,13 +10295,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 -#: templates/js/translated/stock.js:264 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 -#: templates/js/translated/stock.js:266 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 msgid "Latest serial number" msgstr "" @@ -10179,13 +10353,13 @@ msgstr "" msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 -#: templates/js/translated/build.js:818 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:700 +#: templates/js/translated/build.js:826 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 -#: templates/js/translated/build.js:819 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:701 +#: templates/js/translated/build.js:827 msgid "At least one build output must be selected" msgstr "" @@ -10193,264 +10367,265 @@ msgstr "" msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 -#: templates/js/translated/build.js:841 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:725 +#: templates/js/translated/build.js:849 msgid "Output" msgstr "" -#: templates/js/translated/build.js:615 +#: templates/js/translated/build.js:619 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:712 +#: templates/js/translated/build.js:716 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:714 +#: templates/js/translated/build.js:718 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:715 +#: templates/js/translated/build.js:719 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:716 +#: templates/js/translated/build.js:720 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:743 +#: templates/js/translated/build.js:751 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:833 +#: templates/js/translated/build.js:841 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:843 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:844 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:862 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:941 +#: templates/js/translated/build.js:949 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2314 +#: templates/js/translated/build.js:978 templates/js/translated/build.js:2326 msgid "Allocated Quantity" msgstr "" -#: templates/js/translated/build.js:984 +#: templates/js/translated/build.js:992 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1006 +#: templates/js/translated/build.js:1014 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1024 +#: templates/js/translated/build.js:1032 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1042 +#: templates/js/translated/build.js:1050 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1096 +#: templates/js/translated/build.js:1104 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1097 +#: templates/js/translated/build.js:1105 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1109 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1270 +#: templates/js/translated/build.js:1278 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1363 +#: templates/js/translated/build.js:1371 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1377 +#: templates/js/translated/build.js:1385 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1549 +#: templates/js/translated/build.js:1557 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1550 +#: templates/js/translated/build.js:1558 #: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1613 +#: templates/js/translated/build.js:1621 #: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:1698 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1691 +#: templates/js/translated/build.js:1699 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1705 +#: templates/js/translated/build.js:1713 #: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1741 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:1752 #: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1817 +#: templates/js/translated/build.js:1825 #: templates/js/translated/sales_order.js:1359 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1914 +#: templates/js/translated/build.js:1922 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1915 +#: templates/js/translated/build.js:1923 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1917 +#: templates/js/translated/build.js:1925 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1926 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1919 +#: templates/js/translated/build.js:1927 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1946 +#: templates/js/translated/build.js:1958 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2052 +#: templates/js/translated/build.js:2064 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2087 templates/js/translated/build.js:2452 -#: templates/js/translated/part.js:2290 templates/js/translated/part.js:2716 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2643 +#: templates/js/translated/build.js:2099 templates/js/translated/build.js:2464 +#: templates/js/translated/forms.js:2041 templates/js/translated/forms.js:2057 +#: templates/js/translated/part.js:2311 templates/js/translated/part.js:2737 +#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2113 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2147 +#: templates/js/translated/build.js:2159 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/stock.js:2964 +#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2198 +#: templates/js/translated/build.js:2210 msgid "group" msgstr "" -#: templates/js/translated/build.js:2359 +#: templates/js/translated/build.js:2371 #: templates/js/translated/sales_order.js:1643 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2360 +#: templates/js/translated/build.js:2372 #: templates/js/translated/sales_order.js:1644 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2375 +#: templates/js/translated/build.js:2387 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2387 +#: templates/js/translated/build.js:2399 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2440 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2429 +#: templates/js/translated/build.js:2441 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2447 +#: templates/js/translated/build.js:2459 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2477 templates/js/translated/part.js:771 -#: templates/js/translated/part.js:1183 +#: templates/js/translated/build.js:2489 templates/js/translated/part.js:787 +#: templates/js/translated/part.js:1199 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2512 +#: templates/js/translated/build.js:2524 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2573 #: templates/js/translated/sales_order.js:1914 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2563 +#: templates/js/translated/build.js:2575 #: templates/js/translated/sales_order.js:1912 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2610 +#: templates/js/translated/build.js:2622 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2615 +#: templates/js/translated/build.js:2627 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2622 +#: templates/js/translated/build.js:2634 #: templates/js/translated/sales_order.js:2013 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2627 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1836 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2631 +#: templates/js/translated/build.js:2643 #: templates/js/translated/sales_order.js:2007 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2635 +#: templates/js/translated/build.js:2647 msgid "Remove stock allocation" msgstr "" @@ -10597,7 +10772,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1181 -#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2218 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2239 msgid "Order parts" msgstr "" @@ -10614,34 +10789,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1269 -#: templates/js/translated/company.js:1557 templates/js/translated/part.js:779 -#: templates/js/translated/part.js:1191 +#: templates/js/translated/company.js:1557 templates/js/translated/part.js:795 +#: templates/js/translated/part.js:1207 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1273 -#: templates/js/translated/company.js:1561 templates/js/translated/part.js:783 -#: templates/js/translated/part.js:1195 +#: templates/js/translated/company.js:1561 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1445 +#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1461 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1508 +#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1524 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1509 +#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1525 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1414 +#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1430 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1530 +#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1546 msgid "Delete Parameter" msgstr "" @@ -10737,61 +10912,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:369 templates/js/translated/forms.js:384 -#: templates/js/translated/forms.js:398 templates/js/translated/forms.js:412 +#: templates/js/translated/forms.js:371 templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:400 templates/js/translated/forms.js:414 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:373 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:388 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:402 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:414 +#: templates/js/translated/forms.js:416 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:752 +#: templates/js/translated/forms.js:754 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:853 +#: templates/js/translated/forms.js:855 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1401 templates/modals.html:19 +#: templates/js/translated/forms.js:1403 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1855 +#: templates/js/translated/forms.js:1857 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2161 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2285 +#: templates/js/translated/forms.js:2375 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2754 +#: templates/js/translated/forms.js:2844 msgid "Select Columns" msgstr "" @@ -10851,62 +11026,62 @@ msgstr "" msgid "Labels sent to printer" msgstr "" -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:152 -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:151 -#: templates/js/translated/modals.js:745 templates/js/translated/modals.js:1053 +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:156 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:439 +#: templates/js/translated/modals.js:445 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:590 +#: templates/js/translated/modals.js:596 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:682 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:734 +#: templates/js/translated/modals.js:740 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1023 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1129 +#: templates/js/translated/modals.js:1135 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1130 +#: templates/js/translated/modals.js:1136 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1153 +#: templates/js/translated/modals.js:1159 msgid "Error requesting form data" msgstr "" @@ -10916,7 +11091,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1585 +#: templates/js/translated/part.js:1601 msgid "ID" msgstr "" @@ -10965,7 +11140,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1965 +#: templates/js/translated/purchase_order.js:1969 msgid "No line items found" msgstr "" @@ -10997,339 +11172,339 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:305 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:313 templates/js/translated/stock.js:146 +#: templates/js/translated/part.js:329 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:349 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:336 +#: templates/js/translated/part.js:352 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:337 +#: templates/js/translated/part.js:353 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:351 +#: templates/js/translated/part.js:367 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:364 +#: templates/js/translated/part.js:380 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:385 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:394 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:398 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:387 +#: templates/js/translated/part.js:403 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:427 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:413 +#: templates/js/translated/part.js:429 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:430 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:442 +#: templates/js/translated/part.js:458 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:444 +#: templates/js/translated/part.js:460 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:471 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:512 +#: templates/js/translated/part.js:528 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:513 +#: templates/js/translated/part.js:529 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:543 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:529 +#: templates/js/translated/part.js:545 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:530 +#: templates/js/translated/part.js:546 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:547 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:554 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:574 +#: templates/js/translated/part.js:590 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:592 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:581 +#: templates/js/translated/part.js:597 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:583 +#: templates/js/translated/part.js:599 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:616 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:626 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:613 +#: templates/js/translated/part.js:629 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:638 +#: templates/js/translated/part.js:654 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:666 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/part.js:682 +#: templates/js/translated/table_filters.js:743 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:669 +#: templates/js/translated/part.js:685 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:729 +#: templates/js/translated/part.js:745 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:752 +#: templates/js/translated/part.js:768 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:775 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1203 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:787 +#: templates/js/translated/part.js:803 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:791 +#: templates/js/translated/part.js:807 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:878 +#: templates/js/translated/part.js:894 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:882 +#: templates/js/translated/part.js:898 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1031 +#: templates/js/translated/part.js:1047 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1089 templates/js/translated/part.js:1125 +#: templates/js/translated/part.js:1105 templates/js/translated/part.js:1141 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1093 templates/js/translated/part.js:1135 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1151 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1262 +#: templates/js/translated/part.js:1278 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1580 +#: templates/js/translated/part.js:1596 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1643 +#: templates/js/translated/part.js:1659 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1671 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1679 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1697 -#: templates/js/translated/purchase_order.js:1633 +#: templates/js/translated/part.js:1713 +#: templates/js/translated/purchase_order.js:1637 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1840 -#: templates/js/translated/purchase_order.js:2128 -#: templates/js/translated/return_order.js:749 +#: templates/js/translated/part.js:1856 +#: templates/js/translated/purchase_order.js:2132 +#: templates/js/translated/return_order.js:753 #: templates/js/translated/sales_order.js:1872 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1885 -#: templates/js/translated/purchase_order.js:2195 +#: templates/js/translated/part.js:1901 +#: templates/js/translated/purchase_order.js:2199 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1948 +#: templates/js/translated/part.js:1964 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1986 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2058 templates/js/translated/part.js:2480 +#: templates/js/translated/part.js:2074 templates/js/translated/part.js:2501 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2195 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2184 +#: templates/js/translated/part.js:2200 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2209 +#: templates/js/translated/part.js:2230 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2262 +#: templates/js/translated/part.js:2283 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2379 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2505 templates/js/translated/part.js:2635 -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 +#: templates/js/translated/stock.js:2640 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2521 +#: templates/js/translated/part.js:2542 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2619 +#: templates/js/translated/part.js:2640 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2655 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2735 +#: templates/js/translated/part.js:2756 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2751 +#: templates/js/translated/part.js:2772 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2849 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2879 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1436 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2880 templates/js/translated/stock.js:1399 -#: templates/js/translated/stock.js:1661 +#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1437 +#: templates/js/translated/stock.js:1699 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2884 +#: templates/js/translated/part.js:2905 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2921 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2914 +#: templates/js/translated/part.js:2935 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2993 templates/js/translated/part.js:2994 +#: templates/js/translated/part.js:3014 templates/js/translated/part.js:3015 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2996 +#: templates/js/translated/part.js:3017 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3002 +#: templates/js/translated/part.js:3023 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3073 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3079 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3154 +#: templates/js/translated/part.js:3175 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3170 +#: templates/js/translated/part.js:3191 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3215 +#: templates/js/translated/part.js:3236 msgid "Minimum Stock Level" msgstr "" @@ -11337,51 +11512,47 @@ msgstr "" msgid "No plugins found" msgstr "" -#: templates/js/translated/plugin.js:54 +#: templates/js/translated/plugin.js:57 +msgid "This plugin is no longer installed" +msgstr "" + +#: templates/js/translated/plugin.js:59 msgid "This plugin is active" msgstr "" -#: templates/js/translated/plugin.js:56 -msgid "This plugin is not active" +#: templates/js/translated/plugin.js:61 +msgid "This plugin is installed but not active" msgstr "" -#: templates/js/translated/plugin.js:62 -msgid "Plugin Description" -msgstr "" - -#: templates/js/translated/plugin.js:81 -msgid "Sample" -msgstr "" - -#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:116 templates/js/translated/plugin.js:185 msgid "Disable Plugin" msgstr "" -#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:118 templates/js/translated/plugin.js:185 msgid "Enable Plugin" msgstr "" -#: templates/js/translated/plugin.js:158 +#: templates/js/translated/plugin.js:157 msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/plugin.js:174 +#: templates/js/translated/plugin.js:176 msgid "Are you sure you want to enable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:178 +#: templates/js/translated/plugin.js:180 msgid "Are you sure you want to disable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Enable" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Disable" msgstr "" -#: templates/js/translated/plugin.js:200 +#: templates/js/translated/plugin.js:202 msgid "Plugin updated" msgstr "" @@ -11578,80 +11749,80 @@ msgstr "" msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:554 +#: templates/js/translated/purchase_order.js:1318 +#: templates/js/translated/return_order.js:558 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1315 +#: templates/js/translated/purchase_order.js:1319 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1387 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1384 +#: templates/js/translated/purchase_order.js:1388 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:1664 #: templates/js/translated/return_order.js:283 #: templates/js/translated/sales_order.js:771 #: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/purchase_order.js:1726 #: templates/js/translated/return_order.js:351 #: templates/js/translated/sales_order.js:848 #: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1818 +#: templates/js/translated/purchase_order.js:1822 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/purchase_order.js:1840 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1895 #: templates/js/translated/sales_order.js:2067 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/purchase_order.js:1910 #: templates/js/translated/return_order.js:473 -#: templates/js/translated/return_order.js:662 +#: templates/js/translated/return_order.js:666 #: templates/js/translated/sales_order.js:2080 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/return_order.js:675 +#: templates/js/translated/purchase_order.js:1921 +#: templates/js/translated/return_order.js:679 #: templates/js/translated/sales_order.js:2091 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/purchase_order.js:2203 #: templates/js/translated/sales_order.js:2021 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2200 -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:798 #: templates/js/translated/sales_order.js:2022 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/purchase_order.js:2205 +#: templates/js/translated/return_order.js:802 #: templates/js/translated/sales_order.js:2028 msgid "Delete line item" msgstr "" @@ -11714,16 +11885,16 @@ msgstr "" msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:555 +#: templates/js/translated/return_order.js:559 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:686 +#: templates/js/translated/return_order.js:690 #: templates/js/translated/sales_order.js:2227 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:791 +#: templates/js/translated/return_order.js:795 msgid "Mark item as received" msgstr "" @@ -11866,7 +12037,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 #: templates/js/translated/sales_order.js:1707 -#: templates/js/translated/stock.js:1706 +#: templates/js/translated/stock.js:1744 msgid "Shipped to customer" msgstr "" @@ -11928,464 +12099,472 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:97 +#: templates/js/translated/stock.js:98 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:128 +#: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:137 +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:172 +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:187 +#: templates/js/translated/stock.js:217 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:189 +#: templates/js/translated/stock.js:219 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:220 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:204 +#: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:211 +#: templates/js/translated/stock.js:241 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:220 +#: templates/js/translated/stock.js:250 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:224 +#: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:229 +#: templates/js/translated/stock.js:259 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:283 +#: templates/js/translated/stock.js:313 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:319 +#: templates/js/translated/stock.js:349 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:328 +#: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:334 +#: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:405 +#: templates/js/translated/stock.js:439 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:425 +#: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:441 +#: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:446 +#: templates/js/translated/stock.js:480 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:467 +#: templates/js/translated/stock.js:501 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:509 +#: templates/js/translated/stock.js:543 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:521 +#: templates/js/translated/stock.js:555 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:534 +#: templates/js/translated/stock.js:568 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:593 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:580 +#: templates/js/translated/stock.js:614 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:600 +#: templates/js/translated/stock.js:634 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:609 +#: templates/js/translated/stock.js:643 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:717 +#: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:752 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:795 +#: templates/js/translated/stock.js:829 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:830 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:798 +#: templates/js/translated/stock.js:832 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:833 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:928 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:929 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:1024 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:1025 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:993 +#: templates/js/translated/stock.js:1031 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:1032 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:998 +#: templates/js/translated/stock.js:1036 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:1037 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1003 +#: templates/js/translated/stock.js:1041 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:252 +#: templates/js/translated/stock.js:1042 users/models.py:253 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1046 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3258 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1224 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1322 +#: templates/js/translated/stock.js:1360 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1324 +#: templates/js/translated/stock.js:1362 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1329 +#: templates/js/translated/stock.js:1367 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1391 +#: templates/js/translated/stock.js:1429 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1432 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1418 +#: templates/js/translated/stock.js:1456 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1482 +#: templates/js/translated/stock.js:1520 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1682 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1666 +#: templates/js/translated/stock.js:1704 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1736 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1710 +#: templates/js/translated/stock.js:1748 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1716 +#: templates/js/translated/stock.js:1754 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:1810 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1819 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1830 +#: templates/js/translated/stock.js:1868 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:1923 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1890 +#: templates/js/translated/stock.js:1928 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1901 +#: templates/js/translated/stock.js:1939 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1945 +#: templates/js/translated/stock.js:1983 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2023 +#: templates/js/translated/stock.js:2061 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2069 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2034 +#: templates/js/translated/stock.js:2072 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2036 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2076 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2079 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2081 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2085 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2049 +#: templates/js/translated/stock.js:2087 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2092 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2056 +#: templates/js/translated/stock.js:2094 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2096 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2062 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/stock.js:2100 +#: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2227 +#: templates/js/translated/stock.js:2265 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2274 +#: templates/js/translated/stock.js:2312 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2402 +#: templates/js/translated/stock.js:2440 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2506 +#: templates/js/translated/stock.js:2544 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2699 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2817 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2772 +#: templates/js/translated/stock.js:2821 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2833 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2806 +#: templates/js/translated/stock.js:2855 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2872 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2838 +#: templates/js/translated/stock.js:2887 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2904 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2921 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2891 +#: templates/js/translated/stock.js:2940 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2909 +#: templates/js/translated/stock.js:2958 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/stock.js:2976 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/stock.js:2984 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3007 +#: templates/js/translated/stock.js:3056 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3057 templates/js/translated/stock.js:3092 +#: templates/js/translated/stock.js:3106 templates/js/translated/stock.js:3141 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3110 +#: templates/js/translated/stock.js:3163 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3131 +#: templates/js/translated/stock.js:3184 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3132 +#: templates/js/translated/stock.js:3185 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3134 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3135 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3136 +#: templates/js/translated/stock.js:3189 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3137 +#: templates/js/translated/stock.js:3190 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3150 +#: templates/js/translated/stock.js:3203 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3206 +#: templates/js/translated/stock.js:3259 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3219 +#: templates/js/translated/stock.js:3272 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3223 +#: templates/js/translated/stock.js:3276 msgid "Change Stock Status" msgstr "" @@ -12394,23 +12573,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:565 -#: templates/js/translated/table_filters.js:577 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:601 +#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:654 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:582 -#: templates/js/translated/table_filters.js:608 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:659 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:590 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Assigned to me" msgstr "" @@ -12431,12 +12610,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:775 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:234 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:345 msgid "Include sublocations" msgstr "" @@ -12444,210 +12623,210 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:254 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:671 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:263 -#: templates/js/translated/table_filters.js:719 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:356 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:277 -#: templates/js/translated/table_filters.js:363 -msgid "Serial number GTE" +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" msgstr "" #: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:364 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:707 +msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:281 -#: templates/js/translated/table_filters.js:367 -msgid "Serial number LTE" +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:755 +msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:368 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:359 -#: templates/js/translated/table_filters.js:360 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:290 -#: templates/js/translated/table_filters.js:381 -msgid "Batch code" +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:301 -#: templates/js/translated/table_filters.js:660 -msgid "Active parts" +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:696 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:335 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:365 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:346 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:372 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:376 +#: templates/js/translated/table_filters.js:400 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:385 +#: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:414 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:391 +#: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:412 +#: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:418 +#: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:432 +#: templates/js/translated/table_filters.js:456 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:436 +#: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:475 +#: templates/js/translated/table_filters.js:511 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:713 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:721 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:693 -#: templates/js/translated/table_filters.js:789 +#: templates/js/translated/table_filters.js:729 +#: templates/js/translated/table_filters.js:825 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:694 +#: templates/js/translated/table_filters.js:730 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:734 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:699 +#: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:703 +#: templates/js/translated/table_filters.js:739 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:711 +#: templates/js/translated/table_filters.js:747 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:723 +#: templates/js/translated/table_filters.js:759 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:785 +#: templates/js/translated/table_filters.js:821 msgid "Has Choices" msgstr "" @@ -12938,34 +13117,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:239 +#: users/models.py:240 msgid "Permission set" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Group" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "View" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "Permission to view items" msgstr "" -#: users/models.py:252 +#: users/models.py:253 msgid "Permission to add items" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Change" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Permissions to edit items" msgstr "" -#: users/models.py:256 +#: users/models.py:257 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 5dc3b2c643..c73a5bd50a 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: 2023-10-09 02:27+0000\n" -"PO-Revision-Date: 2023-10-09 10:39\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,64 +17,69 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2191 stock/models.py:2299 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1000 stock/serializers.py:1099 -#: stock/serializers.py:1260 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 #: templates/js/translated/return_order.js:773 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/sales_order.js:1979 -#: templates/js/translated/stock.js:1490 templates/js/translated/stock.js:2372 +#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" msgstr "یادداشت" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گیرد" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: " @@ -98,99 +103,99 @@ msgstr "گذرواژه جدید را تایید کنید" msgid "Old password" msgstr "رمز عبور قدیمی" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "ایمیل (دوباره وارد کنید)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "تایید آدرس ایمیل" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "هر بار باید همان ایمیل را تایپ کنید." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "دامنه ایمیل ارائه شده تایید نشده است." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "خطا در اتصال" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "سرور با کد وضعیت نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "یک استثنا رخ داده است" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "اندازه عکس بسیار بزرگ است" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -206,67 +211,67 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2293 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:494 common/models.py:2858 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:1309 +#: stock/admin.py:138 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2451 #: templates/js/translated/purchase_order.js:2019 @@ -277,101 +282,104 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:735 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2317 -#: common/models.py:2318 common/models.py:2531 common/models.py:2532 -#: common/models.py:2788 common/models.py:2789 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:3007 msgid "User" msgstr "" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2517 -#: common/models.py:2965 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 templates/InvenTree/settings/mixins/urls.html:13 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:426 #: templates/js/translated/company.js:666 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:903 #: templates/js/translated/company.js:1155 #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1183 #: templates/js/translated/part.js:1471 templates/js/translated/part.js:1607 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2661 +#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2687 msgid "Name" msgstr "" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:124 +#: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:151 +#: templates/InvenTree/settings/settings_staff_js.html:431 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 #: templates/js/translated/build.js:2121 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 @@ -387,68 +395,68 @@ msgstr "" #: templates/js/translated/return_order.js:311 #: templates/js/translated/sales_order.js:799 #: templates/js/translated/sales_order.js:1809 -#: templates/js/translated/stock.js:1469 templates/js/translated/stock.js:2002 -#: templates/js/translated/stock.js:2693 templates/js/translated/stock.js:2765 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" msgstr "" -#: InvenTree/models.py:673 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 -#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2702 +#: InvenTree/models.py:672 InvenTree/models.py:673 +#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" @@ -502,16 +510,16 @@ msgstr "ستون مورد نیاز وجود ندارد: \"{name}\"" msgid "Duplicate column: '{col}'" msgstr "ستون تکراری: '{col}'" -#: InvenTree/serializers.py:713 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "آدرس اینترنتی" -#: InvenTree/serializers.py:714 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:728 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -631,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -646,7 +654,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:570 +#: templates/js/translated/table_filters.js:594 msgid "Pending" msgstr "" @@ -680,7 +688,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -715,7 +723,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:518 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" @@ -771,7 +779,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1800 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" msgstr "" @@ -791,7 +799,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1706 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" msgstr "" @@ -807,7 +815,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:351 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" @@ -839,93 +847,93 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 -#: templates/js/translated/table_filters.js:555 +#: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 -#: templates/js/translated/table_filters.js:559 +#: templates/js/translated/table_filters.js:583 msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:384 -#: templates/js/translated/table_filters.js:551 +#: build/api.py:283 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 -#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:223 +#: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 #: templates/js/translated/part.js:696 -#: templates/js/translated/table_filters.js:316 -#: templates/js/translated/table_filters.js:547 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:571 msgid "Available" msgstr "" @@ -934,7 +942,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2826 +#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" msgstr "" @@ -957,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -987,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1004,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1030,10 +1038,10 @@ msgstr "" #: templates/js/translated/sales_order.js:1194 #: templates/js/translated/sales_order.js:1595 #: templates/js/translated/sales_order.js:1793 -#: templates/js/translated/stock.js:650 templates/js/translated/stock.js:816 -#: templates/js/translated/stock.js:1032 templates/js/translated/stock.js:1941 -#: templates/js/translated/stock.js:2791 templates/js/translated/stock.js:3024 -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 +#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3202 msgid "Part" msgstr "" @@ -1049,7 +1057,7 @@ msgstr "مرجع سفارش فروش" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1091,17 +1099,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:739 stock/serializers.py:1224 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1116,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1134,16 +1142,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 #: templates/js/translated/purchase_order.js:1742 #: templates/js/translated/return_order.js:356 -#: templates/js/translated/table_filters.js:503 +#: templates/js/translated/table_filters.js:527 msgid "Responsible" msgstr "" @@ -1157,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:733 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1171,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1186,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2339 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1237,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1247,7 +1255,7 @@ msgstr "" #: templates/js/translated/build.js:726 templates/js/translated/build.js:1350 #: templates/js/translated/build.js:1727 templates/js/translated/build.js:2339 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:225 +#: templates/js/translated/model_renderers.js:228 #: templates/js/translated/order.js:304 templates/js/translated/part.js:958 #: templates/js/translated/part.js:1808 templates/js/translated/part.js:3305 #: templates/js/translated/pricing.js:381 @@ -1263,44 +1271,44 @@ msgstr "" #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1695 #: templates/js/translated/sales_order.js:1821 -#: templates/js/translated/stock.js:538 templates/js/translated/stock.js:676 -#: templates/js/translated/stock.js:847 templates/js/translated/stock.js:2955 -#: templates/js/translated/stock.js:3036 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 +#: templates/js/translated/stock.js:3073 msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:931 -#: stock/serializers.py:1057 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1310,90 +1318,90 @@ msgstr "" #: templates/js/translated/sales_order.js:1501 #: templates/js/translated/sales_order.js:1602 #: templates/js/translated/sales_order.js:1689 -#: templates/js/translated/stock.js:651 templates/js/translated/stock.js:817 -#: templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2948 msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 -#: templates/js/translated/stock.js:341 templates/js/translated/stock.js:539 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:736 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1092 stock/serializers.py:1363 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1404,213 +1412,209 @@ msgstr "" #: templates/js/translated/sales_order.js:1616 #: templates/js/translated/sales_order.js:1624 #: templates/js/translated/sales_order.js:1703 -#: templates/js/translated/stock.js:652 templates/js/translated/stock.js:818 -#: templates/js/translated/stock.js:1034 templates/js/translated/stock.js:2145 -#: templates/js/translated/stock.js:2805 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2842 msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:106 -#: stock/serializers.py:703 stock/serializers.py:1231 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1701 #: templates/js/translated/return_order.js:328 #: templates/js/translated/sales_order.js:816 -#: templates/js/translated/stock.js:2120 templates/js/translated/stock.js:2929 -#: templates/js/translated/stock.js:3052 +#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 +#: templates/js/translated/stock.js:3089 msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:944 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1727,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1753,9 +1757,9 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:496 -#: templates/js/translated/table_filters.js:598 -#: templates/js/translated/table_filters.js:639 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:663 msgid "Overdue" msgstr "" @@ -1765,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1776,7 +1780,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:766 #: templates/js/translated/sales_order.js:989 -#: templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2895 msgid "Sales Order" msgstr "" @@ -1816,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -1829,15 +1833,15 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:105 +#: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 #: templates/js/translated/build.js:1361 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/model_renderers.js:233 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1104 templates/js/translated/stock.js:2134 -#: templates/js/translated/stock.js:3059 -#: templates/js/translated/table_filters.js:289 -#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:3096 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 msgid "Batch" msgstr "" @@ -1855,7 +1859,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:685 msgid "Completed" msgstr "" @@ -2010,35 +2014,35 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:638 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:640 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:681 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:698 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:709 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:748 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" @@ -2055,1430 +2059,1430 @@ msgstr "" msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:995 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1063 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1064 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1071 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1072 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1078 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1080 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1085 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1086 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1092 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1093 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1099 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1100 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1105 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1106 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1113 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1114 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1121 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1122 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1124 common/models.py:1188 common/models.py:1206 -#: common/models.py:1213 common/models.py:1224 common/models.py:1235 -#: common/models.py:1466 common/models.py:1490 common/models.py:1609 -#: common/models.py:1865 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1132 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1133 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1139 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1140 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1146 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1147 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1158 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1159 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1164 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1165 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1171 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1172 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1181 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1182 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1192 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1193 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1199 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1200 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1210 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1211 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1221 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1222 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1232 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1233 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1243 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1244 -msgid "Enable barcode scanner support" +#: common/models.py:1241 +msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1250 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1251 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1261 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1262 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1268 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1269 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1275 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1276 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1280 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1281 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1287 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1294 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1295 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1301 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1302 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1308 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1309 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1315 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1316 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1322 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:739 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1323 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1329 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 -#: templates/js/translated/table_filters.js:306 -#: templates/js/translated/table_filters.js:693 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1330 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1336 part/admin.py:52 part/models.py:1007 -#: templates/js/translated/table_filters.js:701 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 +#: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1337 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1343 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1344 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1350 part/admin.py:54 part/models.py:1023 -#: templates/js/translated/table_filters.js:727 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 +#: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1351 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1357 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1358 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1364 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1365 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1371 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1372 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1378 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1379 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1385 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1386 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1392 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1393 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1399 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1400 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1407 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1408 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1413 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1414 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1420 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1421 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1431 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1432 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1443 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1449 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1450 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1456 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1457 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1463 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1464 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1474 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1475 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1481 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1482 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1488 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1489 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1499 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1500 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1506 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1507 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1513 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1514 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1520 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1521 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1530 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1531 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1537 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1538 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1544 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1545 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1551 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1552 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1558 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1565 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1566 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1572 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1573 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1579 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1580 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1586 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1587 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1592 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1593 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1599 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1606 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1607 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1614 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1615 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1621 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1622 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1628 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1629 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1634 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1635 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1641 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1642 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1648 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1655 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1656 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1662 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1663 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1669 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1670 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1676 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1677 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1683 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1684 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1690 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1691 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1697 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1698 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1705 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1706 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1712 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1713 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1719 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1720 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1726 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1727 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1733 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1734 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1740 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1741 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1747 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1748 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1754 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1755 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1761 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1762 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1768 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1769 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1775 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1776 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1782 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1783 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1791 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1792 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1799 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1807 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1815 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1823 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1831 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1832 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1838 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1839 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1845 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1846 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1852 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1853 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1862 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1863 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1880 common/models.py:2310 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1921 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1922 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1928 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1929 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1935 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1936 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1942 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1943 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1949 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1950 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1956 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1957 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1963 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1964 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1970 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1971 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1977 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1978 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1984 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1985 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1991 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:1992 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1998 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:1999 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2005 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2006 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2012 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2013 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2019 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2020 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2026 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2027 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2033 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2034 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2040 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2041 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2047 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2048 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2054 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2055 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2061 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2062 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2068 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2069 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2075 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2076 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2082 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2083 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2089 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2090 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2096 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2097 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2103 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2104 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2110 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2111 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2117 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2118 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2124 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2125 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2131 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2132 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2138 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2139 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2145 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2146 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2152 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2153 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2159 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2160 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2166 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2167 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2173 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2174 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2180 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2181 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2187 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2188 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2194 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2195 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2201 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2202 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2208 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2209 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2215 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2216 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2222 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2223 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2229 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2230 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2244 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2245 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2251 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2252 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2258 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2259 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2268 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2269 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2277 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2278 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2286 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2287 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2295 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2296 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2340 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2347 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2348 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2508 common/models.py:2686 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2509 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2518 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2523 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:464 -#: templates/js/translated/table_filters.js:492 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:712 msgid "Active" msgstr "" -#: common/models.py:2524 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2538 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2539 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2546 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2547 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2653 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2654 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2662 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2663 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2670 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2671 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2677 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2678 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2687 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2692 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2693 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2847 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2853 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2863 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2868 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2873 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2878 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2879 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2899 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3488,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2900 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2944 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2966 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2973 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2979 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2980 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3568,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3610,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3652,128 +3656,128 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:675 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:768 +#: templates/js/translated/table_filters.js:792 msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3783,85 +3787,87 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2286 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 -#: templates/js/translated/stock.js:1476 +#: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 #: templates/js/translated/company.js:1574 templates/js/translated/part.js:1765 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1672 -#: templates/js/translated/table_filters.js:772 +#: templates/js/translated/table_filters.js:796 msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3869,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:119 stock/models.py:701 stock/serializers.py:1239 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2368 +#: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3926,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4008,17 +4014,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:986 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:293 #: templates/js/translated/sales_order.js:781 -#: templates/js/translated/stock.js:2893 -#: templates/js/translated/table_filters.js:776 +#: templates/js/translated/stock.js:2930 +#: templates/js/translated/table_filters.js:800 msgid "Customer" msgstr "" @@ -4026,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4190,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4221,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4271,11 +4277,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:684 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2224 +#: templates/js/translated/stock.js:2250 msgid "Supplier Part" msgstr "" @@ -4331,7 +4337,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 -#: templates/js/translated/stock.js:511 +#: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4361,15 +4367,15 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:48 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1057 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2711 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4378,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4419,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4443,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4457,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4475,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4484,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4498,550 +4504,550 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1656 -#: templates/js/translated/stock.js:2204 templates/js/translated/stock.js:2841 +#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:278 -#: templates/js/translated/stock.js:2875 +#: templates/js/translated/stock.js:2912 msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 #: templates/js/translated/return_order.js:761 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:574 +#: templates/js/translated/table_filters.js:598 msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:823 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2255 +#: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:433 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5214,7 +5220,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:503 #: templates/js/translated/sales_order.js:1106 -#: templates/js/translated/stock.js:688 templates/js/translated/stock.js:857 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5398,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5428,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 -#: stock/admin.py:101 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 +#: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 -#: stock/admin.py:102 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 +#: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 -#: templates/js/translated/stock.js:1980 +#: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5476,22 +5482,22 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1679 -#: templates/js/translated/table_filters.js:331 +#: templates/js/translated/table_filters.js:355 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5501,33 +5507,33 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:142 #: templates/js/translated/part.js:711 templates/js/translated/part.js:2147 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5538,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5610,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5625,9 +5631,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2717 +#: part/models.py:134 stock/models.py:187 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" @@ -5643,11 +5649,12 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:145 stock/models.py:113 +#: part/models.py:145 stock/models.py:85 stock/models.py:175 +#: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" msgstr "" -#: part/models.py:146 stock/models.py:114 +#: part/models.py:146 stock/models.py:176 msgid "Icon (optional)" msgstr "" @@ -5655,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5718,652 +5725,652 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 -#: templates/InvenTree/settings/settings_staff_js.html:444 +#: templates/InvenTree/settings/settings_staff_js.html:520 #: templates/js/translated/part.js:1082 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1710 -#: templates/js/translated/stock.js:2755 +#: templates/js/translated/stock.js:2792 msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:433 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:440 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 -#: templates/js/translated/table_filters.js:453 +#: part/models.py:3311 templates/js/translated/part.js:2872 +#: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 -#: templates/js/translated/table_filters.js:793 +#: part/models.py:3445 templates/js/translated/part.js:1624 +#: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:577 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6371,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6694,9 +6701,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2160 users/models.py:39 +#: templates/js/translated/stock.js:2186 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6770,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6930,7 +6937,7 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:291 +#: templates/js/translated/model_renderers.js:304 #: templates/js/translated/part.js:811 templates/js/translated/part.js:1215 msgid "Inactive" msgstr "" @@ -6954,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7061,8 +7068,8 @@ msgstr "" #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/part.js:1239 templates/js/translated/part.js:2140 -#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1033 -#: templates/js/translated/stock.js:2014 templates/navbar.html:31 +#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7091,11 +7098,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:129 +#: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2190 +#: templates/js/translated/stock.js:2216 msgid "Last Updated" msgstr "" @@ -7212,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7254,19 +7261,20 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7275,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7291,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7328,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7356,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7397,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:346 -#: templates/js/translated/table_filters.js:476 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7510,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7543,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7684,16 +7792,16 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:725 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 -#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/model_renderers.js:222 #: templates/js/translated/return_order.js:537 #: templates/js/translated/return_order.js:721 #: templates/js/translated/sales_order.js:312 #: templates/js/translated/sales_order.js:1608 #: templates/js/translated/sales_order.js:1693 -#: templates/js/translated/stock.js:570 +#: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" @@ -7710,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2274 templates/js/translated/stock.js:1449 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2280 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7741,356 +7849,377 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:674 -#: templates/js/translated/stock.js:845 templates/js/translated/stock.js:3042 +#: stock/admin.py:122 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3079 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:109 +#: stock/admin.py:41 stock/admin.py:127 msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/admin.py:45 stock/templates/stock/location.html:130 #: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:118 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:107 +#: stock/admin.py:125 msgid "Status Code" msgstr "" -#: stock/admin.py:110 +#: stock/admin.py:128 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:111 +#: stock/admin.py:129 msgid "Supplier ID" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:130 msgid "Supplier Name" msgstr "" -#: stock/admin.py:113 +#: stock/admin.py:131 msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:708 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" -#: stock/admin.py:115 +#: stock/admin.py:133 msgid "Build ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:135 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:118 +#: stock/admin.py:136 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 +#: stock/admin.py:143 msgid "Review Needed" msgstr "" -#: stock/admin.py:126 +#: stock/admin.py:144 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:789 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/stock.js:2174 +#: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:434 templates/js/translated/table_filters.js:403 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:641 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:648 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:676 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:685 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:708 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:54 stock/models.py:692 +#: stock/models.py:56 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:57 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:178 +#: stock/models.py:117 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:118 stock/models.py:828 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:119 stock/models.py:829 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" -#: stock/models.py:126 +#: stock/models.py:189 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2726 +#: stock/models.py:195 templates/js/translated/stock.js:2752 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:133 +#: stock/models.py:196 msgid "This is an external stock location" msgstr "" -#: stock/models.py:175 +#: stock/models.py:202 templates/js/translated/stock.js:2761 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:205 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:270 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:557 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:600 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:610 stock/models.py:619 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:611 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:633 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:639 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:653 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:667 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:677 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:685 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:695 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:702 stock/serializers.py:1240 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:711 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:727 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:741 stock/serializers.py:1225 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:746 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:753 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:755 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:761 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:763 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:774 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:777 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:783 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:790 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:824 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:852 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1378 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1384 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1390 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1396 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1474 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1480 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1486 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1489 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:1136 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1500 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1508 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1702 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2250 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2256 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2275 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2281 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2294 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2300 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8102,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1093 stock/serializers.py:1364 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:948 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:952 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:956 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:993 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1001 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1011 stock/serializers.py:1271 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1100 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1105 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1106 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1111 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1112 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1122 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1211 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1261 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8277,7 +8406,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3193 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3230 msgid "Install Stock Item" msgstr "" @@ -8285,7 +8414,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1641 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 msgid "Add Test Result" msgstr "" @@ -8308,17 +8437,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1766 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1792 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/stock.js:1774 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1757 +#: templates/js/translated/stock.js:1783 msgid "Remove stock" msgstr "" @@ -8327,12 +8456,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1775 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1801 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1829 +#: templates/js/translated/stock.js:1855 msgid "Assign to customer" msgstr "" @@ -8457,7 +8586,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:438 -#: templates/js/translated/table_filters.js:411 +#: templates/js/translated/table_filters.js:435 msgid "Expired" msgstr "" @@ -8467,7 +8596,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:440 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" @@ -8476,7 +8605,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:508 -#: templates/js/translated/stock.js:1896 +#: templates/js/translated/stock.js:1922 msgid "stock item" msgstr "" @@ -8587,7 +8716,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:288 -#: templates/js/translated/stock.js:2517 +#: templates/js/translated/stock.js:2543 msgid "stock location" msgstr "" @@ -8973,7 +9102,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:67 -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:492 msgid "Builtin" msgstr "" @@ -8983,7 +9112,7 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:71 -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:496 msgid "Sample" msgstr "" @@ -9096,7 +9225,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/js/translated/forms.js:508 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:389 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:219 users/models.py:256 +#: templates/js/translated/stock.js:245 users/models.py:257 msgid "Delete" msgstr "" @@ -9156,6 +9285,32 @@ msgstr "" msgid "Create Part Parameter Template" msgstr "" +#: templates/InvenTree/settings/settings_staff_js.html:420 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:441 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:460 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:447 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:470 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:480 +#: templates/InvenTree/settings/stock.html:35 +msgid "New Location Type" +msgstr "" + #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -9209,6 +9364,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/stock.html:31 +msgid "Stock Location Types" +msgstr "" + #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" msgstr "" @@ -9746,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9925,7 +10084,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1129 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1155 msgid "Remove stock item" msgstr "" @@ -10123,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10234,13 +10393,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 -#: templates/js/translated/stock.js:268 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 -#: templates/js/translated/stock.js:270 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 msgid "Latest serial number" msgstr "" @@ -10473,7 +10632,7 @@ msgstr "" #: templates/js/translated/build.js:2099 templates/js/translated/build.js:2464 #: templates/js/translated/forms.js:2041 templates/js/translated/forms.js:2057 #: templates/js/translated/part.js:2311 templates/js/translated/part.js:2737 -#: templates/js/translated/stock.js:1927 templates/js/translated/stock.js:2655 +#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" msgstr "" @@ -10485,7 +10644,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:2976 +#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" msgstr "" @@ -10555,7 +10714,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1810 +#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1836 msgid "Order stock" msgstr "" @@ -11115,7 +11274,7 @@ msgstr "" msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:329 templates/js/translated/stock.js:150 +#: templates/js/translated/part.js:329 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" @@ -11240,7 +11399,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:682 -#: templates/js/translated/table_filters.js:719 +#: templates/js/translated/table_filters.js:743 msgid "Low stock" msgstr "" @@ -11366,7 +11525,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 -#: templates/js/translated/stock.js:2614 +#: templates/js/translated/stock.js:2640 msgid "Display as list" msgstr "" @@ -11378,7 +11537,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2634 +#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" msgstr "" @@ -11394,12 +11553,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1410 +#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1436 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1411 -#: templates/js/translated/stock.js:1673 +#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1437 +#: templates/js/translated/stock.js:1699 msgid "Delete test result" msgstr "" @@ -11976,7 +12135,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 #: templates/js/translated/sales_order.js:1707 -#: templates/js/translated/stock.js:1718 +#: templates/js/translated/stock.js:1744 msgid "Shipped to customer" msgstr "" @@ -12038,464 +12197,472 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:97 +#: templates/js/translated/stock.js:98 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:128 +#: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:137 +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:217 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:193 +#: templates/js/translated/stock.js:219 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:194 +#: templates/js/translated/stock.js:220 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:208 +#: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:215 +#: templates/js/translated/stock.js:241 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:224 +#: templates/js/translated/stock.js:250 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:228 +#: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:233 +#: templates/js/translated/stock.js:259 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:287 +#: templates/js/translated/stock.js:313 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:323 +#: templates/js/translated/stock.js:349 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:336 +#: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:342 +#: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:439 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:433 +#: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:454 +#: templates/js/translated/stock.js:480 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:475 +#: templates/js/translated/stock.js:501 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:517 +#: templates/js/translated/stock.js:543 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:529 +#: templates/js/translated/stock.js:555 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:542 +#: templates/js/translated/stock.js:568 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:567 +#: templates/js/translated/stock.js:593 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:571 templates/js/translated/stock.js:572 +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:588 +#: templates/js/translated/stock.js:614 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:608 +#: templates/js/translated/stock.js:634 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:617 +#: templates/js/translated/stock.js:643 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:725 +#: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:726 +#: templates/js/translated/stock.js:752 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:803 +#: templates/js/translated/stock.js:829 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:804 +#: templates/js/translated/stock.js:830 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:806 +#: templates/js/translated/stock.js:832 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:807 +#: templates/js/translated/stock.js:833 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:902 +#: templates/js/translated/stock.js:928 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:903 +#: templates/js/translated/stock.js:929 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:998 +#: templates/js/translated/stock.js:1024 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:1025 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:1005 +#: templates/js/translated/stock.js:1031 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:1006 +#: templates/js/translated/stock.js:1032 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:1010 +#: templates/js/translated/stock.js:1036 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1011 +#: templates/js/translated/stock.js:1037 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1015 +#: templates/js/translated/stock.js:1041 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1016 users/models.py:252 +#: templates/js/translated/stock.js:1042 users/models.py:253 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:1046 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1117 +#: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1117 +#: templates/js/translated/stock.js:1143 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1151 templates/js/translated/stock.js:3221 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3258 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1152 +#: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1198 +#: templates/js/translated/stock.js:1224 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1334 +#: templates/js/translated/stock.js:1360 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/stock.js:1362 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1341 +#: templates/js/translated/stock.js:1367 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1403 +#: templates/js/translated/stock.js:1429 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1406 +#: templates/js/translated/stock.js:1432 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1430 +#: templates/js/translated/stock.js:1456 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1494 +#: templates/js/translated/stock.js:1520 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1656 +#: templates/js/translated/stock.js:1682 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1678 +#: templates/js/translated/stock.js:1704 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1710 +#: templates/js/translated/stock.js:1736 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1714 +#: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1722 +#: templates/js/translated/stock.js:1748 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1728 +#: templates/js/translated/stock.js:1754 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1784 +#: templates/js/translated/stock.js:1810 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1793 +#: templates/js/translated/stock.js:1819 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1842 +#: templates/js/translated/stock.js:1868 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1897 +#: templates/js/translated/stock.js:1923 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1902 +#: templates/js/translated/stock.js:1928 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:1939 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1957 +#: templates/js/translated/stock.js:1983 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2061 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2069 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2072 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2048 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2050 +#: templates/js/translated/stock.js:2076 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2053 +#: templates/js/translated/stock.js:2079 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2055 +#: templates/js/translated/stock.js:2081 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2059 +#: templates/js/translated/stock.js:2085 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2061 +#: templates/js/translated/stock.js:2087 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2066 +#: templates/js/translated/stock.js:2092 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2068 +#: templates/js/translated/stock.js:2094 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2070 +#: templates/js/translated/stock.js:2096 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2074 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/stock.js:2100 +#: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2239 +#: templates/js/translated/stock.js:2265 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2286 +#: templates/js/translated/stock.js:2312 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2414 +#: templates/js/translated/stock.js:2440 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2518 +#: templates/js/translated/stock.js:2544 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2673 +#: templates/js/translated/stock.js:2699 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2780 +#: templates/js/translated/stock.js:2817 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2821 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2833 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2855 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2835 +#: templates/js/translated/stock.js:2872 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2887 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2867 +#: templates/js/translated/stock.js:2904 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2921 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2940 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2921 +#: templates/js/translated/stock.js:2958 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2939 +#: templates/js/translated/stock.js:2976 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2947 +#: templates/js/translated/stock.js:2984 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3019 +#: templates/js/translated/stock.js:3056 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3069 templates/js/translated/stock.js:3104 +#: templates/js/translated/stock.js:3106 templates/js/translated/stock.js:3141 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3126 +#: templates/js/translated/stock.js:3163 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3184 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3148 +#: templates/js/translated/stock.js:3185 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3150 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3189 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3153 +#: templates/js/translated/stock.js:3190 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3166 +#: templates/js/translated/stock.js:3203 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3222 +#: templates/js/translated/stock.js:3259 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3235 +#: templates/js/translated/stock.js:3272 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3239 +#: templates/js/translated/stock.js:3276 msgid "Change Stock Status" msgstr "" @@ -12504,23 +12671,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:577 -#: templates/js/translated/table_filters.js:589 -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:601 +#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:654 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:594 -#: templates/js/translated/table_filters.js:620 -#: templates/js/translated/table_filters.js:635 +#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:659 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:500 -#: templates/js/translated/table_filters.js:602 -#: templates/js/translated/table_filters.js:643 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Assigned to me" msgstr "" @@ -12541,12 +12708,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:775 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:234 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:345 msgid "Include sublocations" msgstr "" @@ -12554,206 +12721,210 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:254 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:683 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:263 -#: templates/js/translated/table_filters.js:731 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:356 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:277 -#: templates/js/translated/table_filters.js:363 -msgid "Serial number GTE" +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" msgstr "" #: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:364 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:707 +msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:281 -#: templates/js/translated/table_filters.js:367 -msgid "Serial number LTE" +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:755 +msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:368 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:359 -#: templates/js/translated/table_filters.js:360 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:290 -#: templates/js/translated/table_filters.js:381 -msgid "Batch code" +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:301 -#: templates/js/translated/table_filters.js:672 -msgid "Active parts" +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:696 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:335 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:365 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:372 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:376 +#: templates/js/translated/table_filters.js:400 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:385 +#: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:414 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:391 +#: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:412 +#: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:418 +#: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:432 +#: templates/js/translated/table_filters.js:456 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:436 +#: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:487 +#: templates/js/translated/table_filters.js:511 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:684 +#: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:689 +#: templates/js/translated/table_filters.js:713 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:697 +#: templates/js/translated/table_filters.js:721 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:705 -#: templates/js/translated/table_filters.js:801 +#: templates/js/translated/table_filters.js:729 +#: templates/js/translated/table_filters.js:825 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:730 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:710 +#: templates/js/translated/table_filters.js:734 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:711 +#: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:715 +#: templates/js/translated/table_filters.js:739 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:723 +#: templates/js/translated/table_filters.js:747 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:759 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:797 +#: templates/js/translated/table_filters.js:821 msgid "Has Choices" msgstr "" @@ -13043,35 +13214,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:239 +#: users/models.py:240 msgid "Permission set" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Group" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "View" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "Permission to view items" msgstr "" -#: users/models.py:252 +#: users/models.py:253 msgid "Permission to add items" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Change" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Permissions to edit items" msgstr "" -#: users/models.py:256 +#: users/models.py:257 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index 48bb94f9ac..e72f6bd449 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Arvoa ei annettu" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Virheen tiedot löytyvät hallintapaneelista" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Anna päivämäärä" msgid "Notes" msgstr "Merkinnät" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -98,99 +103,99 @@ msgstr "Vahvista uusi salasana" msgid "Old password" msgstr "Vanha salasana" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Sähköposti (uudelleen)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Sähköpostiosoitteen vahvistus" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Sinun täytyy kirjoittaa sama sähköposti joka kerta." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Tyhjä sarjanumero" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplikaatti sarjanumero" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Sarjanumeroita ei löytynyt" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Yksilöllisten sarjanumeroiden määrän ({s}) on vastattava määrää ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Yhteysvirhe" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Palvelin vastasi virheellisellä tilakoodilla" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Kuva on liian iso" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Kuvan lataus ylitti enimmäiskoon" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Etäpalvelin palautti tyhjän vastauksen" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Annettu URL ei ole kelvollinen kuvatiedosto" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "Sähköposti" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metatietojen tulee olla python dict objekti" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Liitännäisen metadata" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadatakenttä, ulkoisten liitännäisten käyttöön" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Virheellisesti muotoiltu malli" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Viitekenttä ei voi olla tyhjä" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Viitenumero on liian suuri" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Liite" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Valitse liitettävä tiedosto" msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentti" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Käyttäjä" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "latauspäivä" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Tiedoston nimi ei saa olla tyhjä" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Virheellinen liitteen hakemisto" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Tiedostonimi sisältää kielletyn merkin '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Tiedostonimen pääte puuttuu" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Samanniminen liite on jo olemassa" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Virhe tiedoston uudelleennimeämisessä" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Virheellinen valinta" msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nimi" msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Polku" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Tiedostonimi" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Datatiedosto" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Valitse lähetettävä datatiedosto" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Tiedostotyyppiä ei tueta" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Tiedosto on liian suuri" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Datarivejä ei annettu" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Datasarakkeita ei annettu" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Vaadittu sarake puuttuu: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikaatti sarake: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -683,7 +688,7 @@ msgstr "Palautettu" msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Muokkaa käyttäjätietoja" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Aseta salasana" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Salasanat eivät täsmää" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Virheellinen salasana" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Järjestelmän tiedot" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tietoja InvenTree:stä" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Määrä" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sarjanumerot" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "Sijainti" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "Tila" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "Päivitetty" msgid "Timestamp of last update" msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Ei ryhmää" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Verkkotunnus ei saa olla tyhjä." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Virheellinen verkkotunnus: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Uudelleenkäynnistys vaaditaan" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Yrityksen nimi" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Yrityksen sisäinen nimi" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Oletusvaluutta" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "päivää" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Automaattinen varmuuskopionti" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Automaattisen varmuuskopioinnin aikaväli" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Viivakoodituki" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponentti" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Seurattavissa" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Hinta" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Isäntä" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Julkaisija" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Uusi {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Yritys" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "Valmistaja" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Valitse valmistaja" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Valmistajan osanumero" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Arvo" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "Toimittaja" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Valitse toimittaja" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Valitse valmistajan osa" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Asiakas" msgid "Uses default currency" msgstr "Käyttää oletusvaluuttaa" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Uusi toimittaja" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Uusi valmistaja" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Asiakkaat" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Uusi asiakas" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Yritykset" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Uusi yritys" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Käytössä" @@ -4446,7 +4449,7 @@ msgstr "Korkeus [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Suodattimet" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "QR-koodi" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "QR-koodi" msgid "Total Price" msgstr "Hinta yhteensä" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Toiminnot" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Avainsanat" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "Kuvake (valinnainen)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Raportti" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" @@ -6375,190 +6378,190 @@ msgstr "Valmistajan osanumero" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Avaa linkki" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index f9ed4189b2..664ab03c0f 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:26\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Pas de valeur renseignée" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 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:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Entrer la date" msgid "Notes" msgstr "Notes" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "La valeur fournie ne correspond pas au modèle requis : " @@ -98,99 +103,99 @@ msgstr "Confirmer le nouveau mot de passe" msgid "Old password" msgstr "Ancien mot de passe" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (encore)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Confirmation de l'adresse email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "L'adresse e-mail principale fournie n'est pas valide." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Le domaine e-mail fourni n'est pas approuvé." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "L'enregistrement est désactivé." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Numéro de série en doublon" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Plage de groupe invalide : {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "La plage de groupe {g} dépasse la quantité autorisée ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Séquence de groupe invalide : {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Erreur de connexion" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Le serveur a répondu avec un code de statut invalide" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Une erreur est survenue" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Le serveur a répondu avec une valeur de longueur de contenu invalide" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Image trop volumineuse" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "La taille de l'image dépasse la taille maximale autorisée" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Le serveur distant a renvoyé une réponse vide" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Se connecter à l'application" msgid "Email" msgstr "E-mail" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Les metadata doivent être un objet python de type \"dict\"" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Métadonnées de l'Extension" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "Champs metadata JSON, pour plugins tiers" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Modèle mal formaté" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Clé de format inconnu spécifiée" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Clé de format requise manquante" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Le champ de référence ne peut pas être vide" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "La référence doit correspondre au modèle requis" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Fichier manquant" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Le nom de fichier ne doit pas être vide" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Répertoire de pièce jointe invalide" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Le nom de fichier contient le caractère illégal '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Extension manquante du nom de fichier" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Une pièce jointe avec ce nom de fichier existe déjà" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Erreur lors du renommage du fichier" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Choix invalide" msgid "Name" msgstr "Nom" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nom" msgid "Description" msgstr "Description" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "parent" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" @@ -634,7 +639,7 @@ msgstr "Chinois (Simplifié)" msgid "Chinese (Traditional)" msgstr "Chinois (Traditionnel)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -683,7 +688,7 @@ msgstr "Retourné" msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Remboursement" msgid "Reject" msgstr "Refuser" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Unité invalide" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Code de devise invalide" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "La valeur de surplus ne doit pas être négative" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Le surplus ne doit pas dépasser 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Mot de passe incorrect" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Informations système" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consommable" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Consommable" msgid "Optional" msgstr "Facultatif" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Suivi" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Allouée" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Choix invalide pour la fabrication parente" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Bon de commande de référence" msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Priorité de fabrication" msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Code du projet" msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Création de l'objet" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:269 +#: build/serializers.py:267 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:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:299 +#: build/serializers.py:297 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:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Une liste d'ordre de production doit être fourni" msgid "Location" msgstr "Emplacement" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Emplacement des ordres de production achevés" msgid "Status" msgstr "État" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Supprimer le stock alloué" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Soustraire tout stock qui a déjà été alloué à cette construction" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "La sortie de la construction doit pointer vers la même construction" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 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:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/serializers.py:871 -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:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Stock requis pour la commande de construction" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Ordre de commande en retard" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" @@ -1730,8 +1731,8 @@ 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:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Destination" @@ -2013,1372 +2014,1372 @@ msgstr "Mise à jour" msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Code projet unique" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Description du projet" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Un domaine vide n'est pas autorisé." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nom de domaine invalide : {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "URL de base" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "jours" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Taille maximale autorisée pour le téléchargement de l'image distante" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondeur de l'arborescence par défaut. Les niveaux plus profonds peuvent être chargés au fur et à mesure qu'ils sont nécessaires." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Intervalle de vérification des mises à jour" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "À quelle fréquence vérifier les mises à jour (définir à zéro pour désactiver)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Activer le backup automatique de la base de données et des fichiers médias" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Intervalle de sauvegarde automatique" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Intervalle de suppression du journal d'erreur" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Intervalle de suppression du journal de notification" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Modifications de la pièce" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1324 +#: common/models.py:1313 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:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Modèle" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Composant" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendable" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Traçable" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1529 +#: common/models.py:1518 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:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1567 +#: common/models.py:1556 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:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1574 +#: common/models.py:1563 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:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1595 +#: common/models.py:1584 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:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1630 +#: common/models.py:1619 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:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1637 +#: common/models.py:1626 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:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1650 +#: common/models.py:1639 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:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Modèle requis pour générer le champ de référence du retour de commande" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1678 +#: common/models.py:1667 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:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1685 +#: common/models.py:1674 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:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1714 +#: common/models.py:1703 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:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1721 +#: common/models.py:1710 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:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Email requis" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1763 +#: common/models.py:1752 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:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1777 +#: common/models.py:1766 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:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Activer la fonctionnalité d'inventaire pour enregistrer les niveaux de stock et le calcul de la valeur du stock" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Nombre de jours entre l'enregistrement automatique des stocks (définir à zéro pour désactiver)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Afficher les catégories de pièces suivies sur la page d'accueil" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Afficher les pièces en stock expirées sur la page d'accueil" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "La position de la barre de navigation est fixée en haut de l'écran" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues de la table" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Prix" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Jeton" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "ID message" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Hôte" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Entête" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Corps" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Auteur" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Lu" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Nouveau {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Une nouvelle commande a été créée et vous a été assignée" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Articles reçus" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Des articles d'un bon de commande ont été reçus" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" @@ -3571,7 +3572,7 @@ msgstr "Les champs correspondants ont échoué" msgid "Parts imported" msgstr "Pièces importées" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Cette entreprise fabrique-t-elle des pièces?" msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Société" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Sélectionner une entreprise" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Ligne 1" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "Adresse" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Ligne 2" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "Seconde ligne d'adresse" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Code postal" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "Ville / Région" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "Code postal Ville / Région" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "État / Province" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "État ou province" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "Pays" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "Pays" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "Notes du livreur" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "Instructions pour le livreur" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "Notes pour la livraison interne" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "Notes internes pour la livraison" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Sélectionner un fabricant" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Valeur" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Unités" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Sélectionner un fournisseur" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Note" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "coût de base" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Conditionnement de l'article" msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "plusieurs" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" @@ -4011,10 +4014,10 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Client" msgid "Uses default currency" msgstr "Utiliser la devise par défaut" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "Ajouter une adresse" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabricants" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" 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 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "Adresses" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Lier le code-barres à la pièce du fournisseur" msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Éléments en stock" msgid "Supplier Part Pricing" msgstr "Prix de la pièce du fournisseur" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Nouveau Fournisseur" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Nouveau Fabricant" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Clients" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Nouveaux Clients" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Entreprises" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nouvelle Entreprise" @@ -4422,7 +4425,7 @@ msgstr "Étiquette" msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Activé" @@ -4446,7 +4449,7 @@ msgstr "Hauteur [mm]" msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtres" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Commande d’achat" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Inconnu" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:245 +#: order/models.py:239 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:254 +#: order/models.py:248 msgid "Created By" msgstr "Créé par" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "reçu par" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "expédié par" -#: order/models.py:870 +#: order/models.py:860 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:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 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:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Contexte" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "supprimé" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Commande" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Pièce fournisseur" msgid "Received" msgstr "Reçu" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Ligne" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Article" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 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:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:575 +#: order/serializers.py:571 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:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 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:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nom de l'article" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Révision" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Mots-clés" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5493,8 +5496,8 @@ msgstr "Stock Minimum" msgid "In Stock" msgstr "En Stock" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "Pièces" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "Catégorie" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "Date" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Données" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Article du BOM" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Base de données inconnue" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7258,19 +7261,20 @@ msgstr "Aucune action spécifiée" msgid "No matching action found" msgstr "Aucune action correspondante trouvée" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Aucune correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "Contributeurs d'InvenTree" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "Non du Plugin" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "Extension Intégrée" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Extension" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Extrait " -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Elément" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Résultat" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Sélectionner un propriétaire" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 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:706 +#: stock/models.py:676 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:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 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:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 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:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Quantité requise" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index bd83361100..6b9e4b6ac6 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "הזן תאריך סיום" msgid "Notes" msgstr "" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -98,99 +103,99 @@ msgstr "אשר סיסמה חדשה" msgid "Old password" msgstr "" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "אימייל (שנית)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "אישור כתובת אימייל" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "קובץ חסר" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "קובץ מצורף" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "קישור חיצוני" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "הערה" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "משתמש" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "תאריך העלאה" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "חובה למלא שם קובץ" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "תיקיית קובץ שגויה" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "שם הקובץ מכיל תו '{c}' שאינו חוקי" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "שגיאה בשינוי שם פריט" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "בחירה שגויה" msgid "Name" msgstr "שם" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "שם" msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "מקור" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -683,7 +688,7 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "קוד מטבע לא מאושר" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "מידע אודות המערכת" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "לא פורטה הפעולה" msgid "No matching action found" msgstr "פעולה מבוקשת לא נמצאה" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/hi/LC_MESSAGES/django.po b/InvenTree/locale/hi/LC_MESSAGES/django.po index 2d7c82b980..5595ae451e 100644 --- a/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "तारीख दर्ज करें" msgid "Notes" msgstr "" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -98,99 +103,99 @@ msgstr "नए पासवर्ड की पुष्टि करें" msgid "Old password" msgstr "पुराना पासवर्ड" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "कनेक्शन त्रुटि" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "ई-मेल" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "" msgid "Name" msgstr "" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -683,7 +688,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 815e7c6fee..8d54f2fe7c 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Nincs érték megadva" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Dátum megadása" msgid "Notes" msgstr "Megjegyzések" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "A(z) '{name}' érték nem a szükséges minta szerinti" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "A megadott érték nem felel meg a szükséges mintának: " @@ -98,99 +103,99 @@ msgstr "Új jelszó megerősítése" msgid "Old password" msgstr "Régi jelszó" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (újra)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Email cím megerősítés" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "A megadott elsődleges email cím nem valós." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "A megadott email domain nincs jóváhagyva." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Regisztráció le van tiltva." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplikált sorozatszám" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Érvénytelen csoport tartomány: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, 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:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Érvénytelen csoport szekvencia: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Csatlakozási hiba" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Kivétel történt" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "A kiszolgáló érvénytelen Content-Length értéket adott" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "A kép mérete túl nagy" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "A kép letöltés meghaladja a maximális méretet" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "A kiszolgáló üres választ adott" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Belépés az alkalmazásba" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "A meta adatnak egy python dict objektumnak kell lennie" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Plugin meta adatok" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "JSON meta adat mező, külső pluginok számára" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Helytelenül formázott minta" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Ismeretlen formátum kulcs lett megadva" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Hiányzó formátum kulcs" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Az azonosító mező nem lehet üres" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Az azonosítónak egyeznie kell a mintával" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Hiányzó fájl" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Melléklet" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link külső URL-re" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Megjegyzés" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Felhasználó" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "feltöltés dátuma" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "A fájlnév nem lehet üres" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Érvénytelen melléklet mappa" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Fájlnévben érvénytelen karakter van '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Fájlnév kiterjesztése hiányzik" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Ilyen fájlnévvel már létezik melléklet" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Hiba a fájl átnevezésekor" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Érvénytelen választás" msgid "Name" msgstr "Név" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Név" msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "szülő" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" @@ -634,7 +639,7 @@ msgstr "Kínai (egyszerűsített)" msgid "Chinese (Traditional)" msgstr "Kínai (Hagyományos)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -683,7 +688,7 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Visszatérítés" msgid "Reject" msgstr "Elutasított" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Érvénytelen fizikai mértékegység" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Érvénytelen pénznem kód" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Túlszállítás nem lehet negatív" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Túlszállítás nem lehet több mint 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Rossz jelszó lett megadva" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Rendszerinformáció" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Fogyóeszköz" msgid "Optional" msgstr "Opcionális" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Követett" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Hibás választás a szülő gyártásra" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Vevői rendelés azonosító" 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:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Befejezés dátuma" @@ -1137,10 +1142,10 @@ 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:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Priorítás" msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Projektszám" msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Gyártás objektum" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:269 +#: build/serializers.py:267 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:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:299 +#: build/serializers.py:297 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:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "A gyártási kimenetek listáját meg kell adni" msgid "Location" msgstr "Hely" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,173 +1453,169 @@ msgstr "A kész gyártási kimenetek helye" msgid "Status" msgstr "Állapot" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Az összes lefoglalt tétel levonása a készletről" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:790 +#: build/serializers.py:786 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:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:871 -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:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "A gyártási utasításhoz készlet szükséges" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Késésben lévő gyártás" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" @@ -1731,8 +1732,8 @@ 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:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1769,8 +1770,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1820,7 +1821,7 @@ 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Cél" @@ -2014,1372 +2015,1372 @@ msgstr "Frissítve" msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Egyedi projektszám" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Projekt leírása" -#: common/models.py:646 +#: common/models.py:640 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:648 +#: common/models.py:642 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Üres domain nem engedélyezett." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Érvénytelen domain név: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Cég neve" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "nap" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Alapértelmezett mélység a fa nézetekben. A mélyebb szintek betöltődnek ha szükségesek." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Frissítés keresés gyakorisága" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Adatbázis és média fájlok automatikus biztonsági mentése" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Automata biztonsági mentés gyakorisága" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Hány naponta készüljön automatikus biztonsági mentés" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Feladat törlési gyakoriság" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Hibanapló törlési gyakoriság" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Értesítés törlési gyakoriság" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Felhasználói értesítések törlése megadott nap eltelte után" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Alkatrész változatok" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1324 +#: common/models.py:1313 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:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Sablon" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1338 +#: common/models.py:1327 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:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Összetevő" -#: common/models.py:1345 +#: common/models.py:1334 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:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Követésre kötelezett" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1380 +#: common/models.py:1369 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:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1529 +#: common/models.py:1518 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:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1567 +#: common/models.py:1556 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:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1574 +#: common/models.py:1563 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:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1595 +#: common/models.py:1584 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:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1615 +#: common/models.py:1604 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:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1650 +#: common/models.py:1639 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:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavétel azonosító mező előállításához" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavétel szerkesztésének engedélyezése befejezés után" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1678 +#: common/models.py:1667 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:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1685 +#: common/models.py:1674 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:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1692 +#: common/models.py:1681 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:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1699 +#: common/models.py:1688 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:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1706 +#: common/models.py:1695 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:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1721 +#: common/models.py:1710 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:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1749 +#: common/models.py:1738 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:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1756 +#: common/models.py:1745 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:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1763 +#: common/models.py:1752 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:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1777 +#: common/models.py:1766 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:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1800 +#: common/models.py:1789 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:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1824 +#: common/models.py:1813 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:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1832 +#: common/models.py:1821 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:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "Projektszámok használatának engedélyezése a projektek követéséhez" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Külső helyek figyelmen kívül hagyása a leltár számításoknál" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 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:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1944 +#: common/models.py:1932 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:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1958 +#: common/models.py:1946 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:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1965 +#: common/models.py:1953 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:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1986 +#: common/models.py:1974 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:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2014 +#: common/models.py:2002 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:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2042 +#: common/models.py:2030 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:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2063 +#: common/models.py:2051 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:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2077 +#: common/models.py:2065 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:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2091 +#: common/models.py:2079 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:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2098 +#: common/models.py:2086 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:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2105 +#: common/models.py:2093 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:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2112 +#: common/models.py:2100 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:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2119 +#: common/models.py:2107 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:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2126 +#: common/models.py:2114 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:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2147 +#: common/models.py:2135 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:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2154 +#: common/models.py:2142 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:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2161 +#: common/models.py:2149 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:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2168 +#: common/models.py:2156 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:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2175 +#: common/models.py:2163 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:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételek kihagyása a keresési előnézet találataiból" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2196 +#: common/models.py:2184 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:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2217 +#: common/models.py:2205 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:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2224 +#: common/models.py:2212 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:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2231 +#: common/models.py:2219 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:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2267 +#: common/models.py:2255 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:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "Alapértelmezett alkatrész címke sablon" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "Alapértelmezett készlet címke sablon" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "Alapértelmezett készlethely címke sablon" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Ár" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3388,101 +3389,101 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Token" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Titok" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Fejléc" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Törzs" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Szerző" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3492,56 +3493,56 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Képfájl" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Új {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Egy új megrendelés létrehozva, és hozzád rendelve" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Készlet érkezett" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Készlet érkezett egy beszerzési megrendeléshez" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "Készlet érkezett vissza egy visszavétel miatt" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Plugin hiba" @@ -3572,7 +3573,7 @@ msgstr "Mezők egyeztetése sikertelen" msgid "Parts imported" msgstr "Importált alkatrészek" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3614,7 +3615,7 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3656,113 +3657,113 @@ msgstr "Gyárt ez a cég alkatrészeket?" msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Cég" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Cég kiválasztása" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "Cím megnevezése" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "Címhez tartozó leírás, megnevezés" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "Elsődleges cím" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "Beállítás elsődleges címként" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "1. sor" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "Cím első sora" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "2. sor" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "Cím második sora" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Irányítószám" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "Város/Régió" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "Irányítószám város/régió" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "Állam/Megye" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "Állam vagy megye" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "Ország" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "Cím országa" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "Megjegyzés a futárnak" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "Futárnak szóló megjegyzések" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "Belső szállítási megjegyzések" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "Szállítási megjegyzések belső használatra" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3772,12 +3773,12 @@ msgstr "Válassz alkatrészt" msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3787,69 +3788,71 @@ msgstr "Gyártó kiválasztása" msgid "MPN" msgstr "MPN" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Érték" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Mértékegység" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" -#: company/models.py:660 +#: company/models.py:655 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:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3860,12 +3863,12 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr msgid "Supplier" msgstr "Beszállító" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3873,54 +3876,54 @@ msgstr "Beszállító kiválasztása" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "alap költség" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3930,27 +3933,27 @@ msgstr "Alkatrész csomagolás" msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "többszörös" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" @@ -4012,10 +4015,10 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4030,7 +4033,7 @@ msgstr "Vevő" msgid "Uses default currency" msgstr "Alapértelmezett pénznemet használja" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4194,7 +4197,7 @@ msgstr "Cég címei" msgid "Add Address" msgstr "Cím hozzáadása" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Gyártók" @@ -4225,7 +4228,7 @@ msgid "No manufacturer information available" 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 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4275,7 +4278,7 @@ msgid "Addresses" msgstr "Címek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4365,10 +4368,10 @@ msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4382,28 +4385,28 @@ msgstr "Készlet tételek" msgid "Supplier Part Pricing" msgstr "Beszállító alkatrész árazás" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Új beszállító" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Új gyártó" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Vevők" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Új vevő" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Cégek" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Új cég" @@ -4423,7 +4426,7 @@ msgstr "Címke" msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Engedélyezve" @@ -4447,7 +4450,7 @@ msgstr "Magasság [mm]" msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Fájlnév minta" @@ -4461,8 +4464,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Szűrők" @@ -4479,7 +4482,7 @@ msgstr "QR kód" msgid "QR code" msgstr "QR kód" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4488,11 +4491,11 @@ msgstr "QR kód" msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4506,7 +4509,7 @@ msgstr "Nincs egyező beszerzési rendelés" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4515,192 +4518,192 @@ msgstr "Beszerzési rendelés" msgid "Return Order" msgstr "Visszavétel" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Ismeretlen" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:245 +#: order/models.py:239 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:254 +#: order/models.py:248 msgid "Created By" msgstr "Készítette" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "Cég címei ehhez a rendeléshez" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "érkeztette" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:458 +#: order/models.py:449 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:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:793 +#: order/models.py:783 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:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "szállította" -#: order/models.py:870 +#: order/models.py:860 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:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 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:880 +#: order/models.py:870 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:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "Sortétel leírása (opcionális)" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Kontextus" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "törölve" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Rendelés" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4710,342 +4713,342 @@ msgstr "Beszállítói alkatrész" msgid "Received" msgstr "Beérkezett" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1238 +#: order/models.py:1223 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:1304 +#: order/models.py:1288 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:1309 +#: order/models.py:1293 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:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1607 +#: order/models.py:1591 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:1609 +#: order/models.py:1593 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:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 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:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Sor" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Tétel" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 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:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:439 +#: order/serializers.py:435 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:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:575 +#: order/serializers.py:571 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:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "Sortétel pénzneme" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Késésben lévő beszerzés" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "A {po} beszerzési rendelés most már késésben van" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Késésben lévő vevői rendelés" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "A {so} vevői rendelés most már késésben van" @@ -5402,7 +5405,7 @@ msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Műveletek" @@ -5432,47 +5435,47 @@ 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/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Alkatrész neve" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Változat" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Kulcsszavak" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Kategória neve" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "Alapértelmezett készlethely ID" @@ -5480,11 +5483,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5494,8 +5497,8 @@ msgstr "Minimális készlet" msgid "In Stock" msgstr "Készleten" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5510,28 +5513,28 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "Szülő ID" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "Szülő neve" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5542,70 +5545,70 @@ msgstr "Kategória elérési út" msgid "Parts" msgstr "Alkatrészek" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "Alkatrészjegyzék szint" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "Alkatrészjegyzék tétel ID" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Érvényes" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Elérhető készlet" @@ -5614,7 +5617,7 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -5660,62 +5663,62 @@ msgstr "Ikon (opcionális)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, 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:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával" -#: part/models.py:676 +#: part/models.py:672 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:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:880 +#: part/models.py:872 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:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5723,249 +5726,249 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Category" msgstr "Kategória" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:899 +#: part/models.py:891 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:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:979 +#: part/models.py:971 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:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1002 +#: part/models.py:994 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:1008 +#: part/models.py:1000 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:1014 +#: part/models.py:1006 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:1019 +#: part/models.py:1011 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:1024 +#: part/models.py:1016 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:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1034 +#: part/models.py:1026 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:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5977,398 +5980,398 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Riport" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3299 +#: part/models.py:3262 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:3316 +#: part/models.py:3279 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:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3355 +#: part/models.py:3318 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:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3361 +#: part/models.py:3324 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:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Adat" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Szint" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3878 +#: part/models.py:3833 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:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3900 +#: part/models.py:3855 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:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3906 +#: part/models.py:3861 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:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 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:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4152 +#: part/models.py:4104 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:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" @@ -6376,190 +6379,190 @@ msgstr "Gyártói cikkszám" msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1384 +#: part/serializers.py:1375 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:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1390 +#: part/serializers.py:1381 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:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1402 +#: part/serializers.py:1393 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:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1443 +#: part/serializers.py:1434 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:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "Teljes mennyiség" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "Teljes költség min" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "Teljes költség max" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "Leltár riport rendelkezésre áll" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "Egy új leltár riport készen áll a letöltésre" @@ -6775,7 +6778,7 @@ msgid "Validate BOM" msgstr "Alkatrészjegyzék jóváhagyása" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Alkatrészjegyzék tétel hozzáadása" @@ -6959,7 +6962,7 @@ msgstr "Gyártáshoz lefoglalva" msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "Gyártható" @@ -7217,11 +7220,11 @@ msgstr "Alkatrész változat létrehozása" msgid "Create a new variant part from this template" msgstr "Új alkatrészváltozat létrehozása ebből a sablonból" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Ismeretlen adatbázis" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7259,19 +7262,20 @@ msgstr "Nincs megadva művelet" msgid "No matching action found" msgstr "Nincs egyező művelet" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "Hiányzó vonalkód adat" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Nincs egyező vonalkód" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" @@ -7280,6 +7284,52 @@ msgstr "Ez a vonalkód már egy másik tételé" msgid "No match found for provided value" msgstr "Nincs találat a megadott értékre" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" @@ -7296,6 +7346,8 @@ msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "InvenTree fejlesztők" @@ -7333,7 +7385,7 @@ msgstr "Slack bejövő webhook URL" msgid "URL that is used to send messages to a slack channel" msgstr "URL az üzenetek küldéséhez egy a slack channel-re" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Link megnyitása" @@ -7361,20 +7413,68 @@ msgstr "Debug mód" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Debug mód engedélyezése - nyers HTML-t ad vissza PDF helyett" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7402,43 +7502,43 @@ msgstr "PluginNeve a pluginnak" msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "Beépítve" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "Példa plugin" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "Beépített plugin" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "Módszer" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -7515,31 +7615,35 @@ msgstr "Tlepítés nincs megerősítve" msgid "Either packagename of URL must be provided" msgstr "Vagy csomag nevet vagy URL-t meg kell adni" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "Plugin aktiválása" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "Plugin bekapcsolása" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "Teszt riport" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7548,107 +7652,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Készlet lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "Gyártmányba beépített készlet tételek teszt eredményeivel együtt" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Gyártás lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "Visszavétel lekérdezés szűrők" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Részlet" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Eszköz" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "Asset fájl leírása" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "készlethely lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" @@ -7689,7 +7793,7 @@ msgstr "Összesen" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7715,12 +7819,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Eredmény" @@ -7788,7 +7892,7 @@ msgstr "Beszállító neve" msgid "Customer ID" msgstr "Vevő ID" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Beépítve ebbe" @@ -7813,33 +7917,33 @@ msgstr "Felülvizsgálat szükséges" msgid "Delete on Deplete" msgstr "Törlés ha kimerül" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva" -#: stock/api.py:782 +#: stock/api.py:760 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" @@ -7855,7 +7959,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7867,12 +7971,12 @@ msgstr "Készlet hely" msgid "Stock Locations" msgstr "Készlethelyek" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" @@ -7902,221 +8006,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 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:706 +#: stock/models.py:676 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:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:734 +#: stock/models.py:704 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:748 +#: stock/models.py:718 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:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:780 +#: stock/models.py:750 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:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 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:806 +#: stock/models.py:776 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:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "Felhasználva ebben" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "Felhasználva ebben a gyártásban" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:885 +#: stock/models.py:855 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:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:919 +#: stock/models.py:889 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:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1485 +#: stock/models.py:1454 #, 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:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1569 +#: stock/models.py:1538 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:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1599 +#: stock/models.py:1568 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:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1797 +#: stock/models.py:1766 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:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -8128,141 +8232,141 @@ msgstr "Szériaszám túl nagy" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" -#: stock/serializers.py:384 +#: stock/serializers.py:382 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:396 +#: stock/serializers.py:394 #, 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:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Készlet tétel hozzárendelt beszállítói alkatrésszel nem konvertálható" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 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:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 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:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -9802,7 +9906,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:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -10179,74 +10283,74 @@ msgstr "Készletváltozatok engedélyezve" msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "Alkatrészjegyzék árazása teljes" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "Alkatrészjegyzék árazása nem teljes" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 1e519e9342..c20498d91f 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Nilai tidak tersedia" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Detail terkait galat dapat dilihat di panel admin" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Masukkan tanggal" msgid "Notes" msgstr "Catatan" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Nilai yang diberikan tidak sesuai dengan pola yang ditentukan: " @@ -98,99 +103,99 @@ msgstr "Konfirmasi sandi baru" msgid "Old password" msgstr "Kata sandi lama" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (ulang)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Konfirmasi alamat email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Masukkan email yang sama." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Alamat surel utama yang diberikan tidak valid." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Domain surel yang diberikan tidak perbolehkan." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Nomor seri kosong" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Jangkauan grup tidak valid: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Urutan grup tidak valid: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Tidak ada nomor seri ditemukan" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Hapus tag-tag HTML dari nilai ini" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Ukuran gambar terlalu besar" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "Surel" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "File tidak ditemukan" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Lampiran" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Pengguna" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "tanggal diunggah" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Nama file tidak boleh kosong" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Direktori lampiran tidak valid" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nama file mengandung karakter yang tidak diperkenankan '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Nama file tidak memiliki ekstensi" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Lampiran dengan nama file ini sudah ada" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Kesalahan merubah nama file" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Pilihan tidak valid" msgid "Name" msgstr "Nama" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nama" msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "induk" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Barcode Hash" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Nama File" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -683,7 +688,7 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Bukan kode mata uang yang valid" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Nilai kelebihan tidak boleh negatif" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Kelebihan tidak boleh melebihi 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Nilai kelebihan tidak valid" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Ubah Informasi User" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Atur Kata Sandi" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Bidang kata sandi tidak cocok" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Kata sandi yang salah" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Informasi Sistem" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Pilihan produksi induk tidak valid" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Referensi Order Penjualan" msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:269 +#: build/serializers.py:267 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:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Daftar hasil pesanan harus disediakan" msgid "Location" msgstr "Lokasi" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Lokasi hasil pesanan yang selesai" msgid "Status" msgstr "Status" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 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:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/serializers.py:871 -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:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Stok dibutuhkan untuk order produksi" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN harus sesuai dengan pola regex {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Item tagihan material" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "Tidak ada tindakan yang ditentukan" msgid "No matching action found" msgstr "Aksi tidak ditemukan" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 78e205fcc8..03de8119e7 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 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:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Inserisci la data" msgid "Notes" msgstr "Note" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Il valore '{name}' non è nel formato del pattern" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Il valore fornito non corrisponde al modello richiesto: " @@ -98,99 +103,99 @@ msgstr "Conferma la nuova password" msgid "Old password" msgstr "Vecchia password" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (ancora)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Conferma indirizzo email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "L'indirizzo email principale fornito non è valido." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "L'indirizzo di posta elettronica fornito non è approvato." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Seriale Duplicato" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Range gruppo: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "L'intervallo {g} supera la quantità consentita ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Sequenza gruppo non valida: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Rimuovi i tag HTML da questo valore" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Errore di connessione" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Il server ha risposto con un codice di stato non valido" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Si è verificata un'eccezione" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Il server ha risposto con valore Content-Length non valido" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Immagine troppo grande" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Il download dell'immagine ha superato la dimensione massima" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Il server remoto ha restituito una risposta vuota" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Metadati Plugin" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "Campo di metadati JSON, da utilizzare con plugin esterni" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Schema formattato impropriamente" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Formato chiave sconosciuta" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Formato chiave mancante" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Il campo di riferimento non può essere vuoto" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Il campo deve corrispondere al modello richiesto" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "File mancante" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Allegato" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link a URL esterno" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Commento" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Utente" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "data caricamento" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Il nome del file non deve essere vuoto" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Directory allegati non valida" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Il nome del file contiene caratteri non validi '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Nome file estensione mancante" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Esiste già un allegato con questo nome di file" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Errore nella rinominazione del file" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Scelta non valida" msgid "Name" msgstr "Nome" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nome" msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "genitore" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Nessun dato fornito" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Nessuna colonna di dati fornita" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -683,7 +688,7 @@ msgstr "Reso" msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Rimborso" msgid "Reject" msgstr "Rifiuta" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Non è un codice valuta valido" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Il sovra-valore non può essere negativo" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "L'eccesso non deve superare il 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Valore non valido per eccedenza" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Password inserita non corretta" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Informazioni sistema" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Consumabile" msgid "Optional" msgstr "Opzionale" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Monitorato" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Allocato" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Scelta non valida per la produzione genitore" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Numero di riferimento ordine di vendita" msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Stato Produzione" msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Data di completamento" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Priorità di produzione" msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Codice del progetto" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Installa in" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Deve essere fornito un elenco dei risultati di produzione" msgid "Location" msgstr "Posizione" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Posizione per gli output di build completati" msgid "Status" msgstr "Stato" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completa l'output se le scorte non sono state interamente assegnate" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Rimuovi Giacenze Allocate" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Detrai qualsiasi scorta che è stata già assegnata a questa produzione" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "Questa giacenza di magazzino è già stato assegnato a questa produzione" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Giacenza richiesta per l'ordine di produzione" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Ordine di produzione in ritardo" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "Risorse di magazzino" 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Destinazione" @@ -2013,1372 +2014,1372 @@ msgstr "Aggiornato" msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Codice unico del progetto" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Descrizione del progetto" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Un dominio vuoto non è consentito." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome dominio non valido: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "giorni" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondità predefinita per la visualizzazione ad albero. I livelli più in alto possono essere caricati più lentamente quando necessari." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Aggiorna intervallo di controllo" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Intervallo Di Backup Automatico" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Modello" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1338 +#: common/models.py:1327 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:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Componente" -#: common/models.py:1345 +#: common/models.py:1334 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:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Tracciabile" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando si stampa un rapporto di prova, allegare una copia del rapporto di prova all'elemento di magazzino associato" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1615 +#: common/models.py:1604 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:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1630 +#: common/models.py:1619 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:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1749 +#: common/models.py:1738 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:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2063 +#: common/models.py:2051 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:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2077 +#: common/models.py:2065 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:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Prezzo" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "Nome per questa notifica" msgid "Active" msgstr "Attivo" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Token" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Segreto" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Host" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Intestazione" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Contenuto" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autore" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Letto" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "File immagine" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Nuovo {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Un nuovo ordine è stato creato e assegnato a te" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Elemento ricevuto" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Errore generato dal plugin" @@ -3571,7 +3572,7 @@ msgstr "Corrispondenza campi non riuscita" msgid "Parts imported" msgstr "Articoli importati" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Questa azienda produce articoli?" msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Azienda" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Seleziona articolo" msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Seleziona Produttore" msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Valore" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Unità" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo msgid "Supplier" msgstr "Fornitore" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Seleziona fornitore" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Nota" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "costo base" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Imballaggio del pezzo" msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "multiplo" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" @@ -4011,10 +4014,10 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Valuta predefinita" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Produttori" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "Nessuna informazione sul produttore disponibile" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Collega Codice a Barre con l'Articolo Fornitore" msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Articoli in magazzino" msgid "Supplier Part Pricing" msgstr "Prezzo articolo del fornitore" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Nuovo Fornitore" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Nuovo Produttore" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Clienti" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Nuovo cliente" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Aziende" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nuova Azienda" @@ -4422,7 +4425,7 @@ msgstr "Etichetta" msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Abilitato" @@ -4446,7 +4449,7 @@ msgstr "Altezza [mm]" msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Formato del nome file" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtri" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Ordine D'Acquisto" msgid "Return Order" msgstr "Restituisci ordine" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Sconosciuto" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:245 +#: order/models.py:239 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:254 +#: order/models.py:248 msgid "Created By" msgstr "Creato Da" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "ricevuto da" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "spedito da" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Contesto" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "eliminato" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Ordine" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Articolo Fornitore" msgid "Received" msgstr "Ricevuto" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Linea" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Elemento" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Risultati" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Ordine D'Acquisto in ritardo" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "L'ordine d'acquisto {po} è in ritardo" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Ordini Di Vendita in ritardo" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "L'ordine di vendita {so} è ora in ritardo" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Spedizione in sospeso" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Azioni" @@ -5431,47 +5434,47 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nome Articolo" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Revisione" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Parole Chiave" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Nome Categoria" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "Posizione Predefinita ID" @@ -5479,11 +5482,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5493,8 +5496,8 @@ msgstr "Scorta Minima" msgid "In Stock" msgstr "In magazzino" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "ID principale" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "Nome Principale" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Percorso Categoria" msgid "Parts" msgstr "Articoli" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "Livello Distinta Base" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "ID Elemento Distinta Base" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Valido" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -5613,7 +5616,7 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -5659,62 +5662,62 @@ msgstr "Icona (facoltativa)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "L'articolo '{p1}' è usato nella Distinta Base per '{p2}' (ricorsivo)" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corrispondere al modello regex {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "È Template" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Category" msgstr "Categoria" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:979 +#: part/models.py:971 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:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1034 +#: part/models.py:1026 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:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Report" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Dati" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Livello" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" @@ -6375,190 +6378,190 @@ msgstr "Codice articolo Produttore" msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "Quantità Totale" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "Costo Minimo Totale" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "Costo Massimo Totale" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "Report Inventario Disponibile" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "Un nuovo report di inventario è disponibile per il download" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "Valida Distinta Base" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Aggiungi elemento Distinta Base" @@ -6958,7 +6961,7 @@ msgstr "Assegnato agli Ordini di Produzione" msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "Puoi produrre" @@ -7216,11 +7219,11 @@ msgstr "Crea nuove varianti dell'articolo" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Database sconosciuto" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7258,19 +7261,20 @@ msgstr "Nessuna azione specificata" msgid "No matching action found" msgstr "Nessuna azione corrispondente trovata" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "Codice a barre mancante" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Nessuna corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" @@ -7279,6 +7283,52 @@ msgstr "Il codice a barre corrisponde a un elemento esistente" msgid "No match found for provided value" msgstr "Nessuna corrispondenza trovata per il valore fornito" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Stampa etichetta fallita" @@ -7295,6 +7345,8 @@ msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "Contributi d'InvenTree" @@ -7332,7 +7384,7 @@ msgstr "Rallentamenti in entrata notifiche url" msgid "URL that is used to send messages to a slack channel" msgstr "Questo URL è stato utilizzato per inviare messaggi a un canale rallentato" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Apri collegamento" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "PluginName del plugin" msgid "Is the plugin active" msgstr "Il plugin è attivo" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "Installato" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "Plugin di esempio" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "Plugin Integrato" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "Metodo" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "Installazione non confermata" msgid "Either packagename of URL must be provided" msgstr "Deve essere fornito uno dei nomi del pacchetto URL" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Il file del modello '{template}' è mancante o non esiste" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "Report test" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Nome modello" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "File modello di report" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Descrizione del modello report" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Numero di revisione del rapporto (auto-incrementi)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "Sequenza per generare i nomi dei file report" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Modello report abilitato" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtri di ricerca elementi di stock (elenco separato da virgole key=coppia di valori)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "Includi Test Installati" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "Includi i risultati dei test per gli elementi stock installati all'interno dell'elemento assemblato" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "Filtri di produzione" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Filtri Articolo" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Snippet" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Risorsa" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "File risorsa descrizione" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "Totale" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Risultato" @@ -7787,7 +7891,7 @@ msgstr "Nome Fornitore" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Installato In" @@ -7812,33 +7916,33 @@ msgstr "Revisione Necessaria" msgid "Delete on Deplete" msgstr "Elimina al esaurimento" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Ubicazione magazzino" msgid "Stock Locations" msgstr "Posizioni magazzino" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Proprietario" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Seleziona Owner" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Il tipo di articolo ('{pf}') deve essere {pe}" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantità deve essere 1 per elementi con un numero di serie" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "L'elemento non può appartenere a se stesso" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Elemento di magazzino principale" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "Questo elemento è stato installato su un altro elemento?" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Genera Costruzione" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "Costruisci per questo elemento di magazzino" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Origina Ordine di Acquisto" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Ordine d'acquisto per questo articolo in magazzino" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Destinazione Ordine di Vendita" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "Prezzo di acquisto unitario al momento dell’acquisto" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "La quantità non deve superare la quantità disponibile ({n})" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Nome Test" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "Note del test" @@ -8127,141 +8231,141 @@ msgstr "Il numero di serie è troppo grande" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantità non deve superare la quantità disponibile ({q})" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -10178,74 +10282,74 @@ msgstr "Variante stock consentita" msgid "Substitutes" msgstr "Sostituti" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "I prezzi Distinta Base sono completi" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "I prezzi Distinta Base sono incompleti" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "Nessun prezzo disponibile" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "Include variante e scorte sostitutive" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "Comprende varianti magazzino" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "Comprende le scorte sostitutive" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "Elementi consumabili" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "Convalida elemento Distinta Base" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "Questa linea è stata convalidata" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "Modifica articoli sostitutivi" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Modifica elemento Distinta Base" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Cancella elemento Distinta Base" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Visualizza Distinta Base" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "Nessun elemento trovato in Distinta Base" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "Articolo richiesto" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Ereditato dalla Distinta Base principale" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index a714ff9a2b..c2ac25cf9a 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "値がありません" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "エラーの詳細は管理者パネルで確認できます" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "日付を入力する" msgid "Notes" msgstr "メモ" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "値 '{name}' はパターン形式で表示されません" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "指定された値が必要なパターンと一致しません: " @@ -98,99 +103,99 @@ msgstr "新しいパスワードの確認" msgid "Old password" msgstr "古いパスワード" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "メールアドレス(確認用)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "メールアドレスの確認" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "指定されたプライマリEメールアドレスは無効です。" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "指定されたメールドメインは承認されていません。" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "グループ範囲が無効です: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "グループ範囲 {g} が許可された数量を超えています ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "無効なグループシーケンスです: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "この値からHTMLタグを削除" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "接続エラー" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "サーバは無効なステータスコードで応答しました" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "例外が発生しました" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "サーバーが無効なContent-Length値で応答しました" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "画像サイズが大きすぎます" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "画像のダウンロードが最大サイズを超えました" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "リモートサーバーが空のレスポンスを返しました" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "指定されたURLは有効な画像ファイルではありません" @@ -204,66 +209,66 @@ msgstr "" #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:667 msgid "Email" -msgstr "" +msgstr "メールアドレス" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" -msgstr "" +msgstr "プラグインメタデータ" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "外部プラグインで使用するためのJSONメタデータフィールド" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "ファイルがありません" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "ファイル名は空欄にできません" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "添付ファイルのディレクトリが正しくありません" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ファイル名に無効な文字'{c}'が含まれています" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "ファイル名に拡張子がありません" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "この名前の貼付ファイルは既に存在します" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "ファイル名の変更に失敗しました" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "無効な選択です" msgid "Name" msgstr "お名前" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,132 +400,132 @@ msgstr "お名前" msgid "Description" msgstr "説明" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "親" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" -msgstr "" +msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" -msgstr "" +msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "外部URLからの画像ダウンロードは許可されていません" #: InvenTree/settings.py:814 msgid "Czech" -msgstr "" +msgstr "チェコ語" #: InvenTree/settings.py:815 msgid "Danish" @@ -564,7 +569,7 @@ msgstr "ヘブライ語" #: InvenTree/settings.py:825 msgid "Hindi" -msgstr "" +msgstr "ヒンディー語" #: InvenTree/settings.py:826 msgid "Hungarian" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -683,7 +688,7 @@ msgstr "返品済" msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,87 +847,87 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" -msgstr "" +msgstr "パスワードが一致しません" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" -msgstr "" +msgstr "パスワードが間違っています" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "システム情報" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:583 msgid "Optional" -msgstr "" +msgstr "オプション" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -939,7 +944,7 @@ msgstr "" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" -msgstr "" +msgstr "組立注文" #: build/models.py:74 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -950,7 +955,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" -msgstr "" +msgstr "組立注文" #: build/models.py:115 msgid "Invalid choice for parent build" @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1088,23 +1093,23 @@ msgstr "" #: build/models.py:237 msgid "Build Status" -msgstr "" +msgstr "組立状況" #: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,22 +1165,22 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" -msgstr "" +msgstr "外部リンク" #: build/models.py:299 msgid "Build Priority" -msgstr "" +msgstr "組立優先度" #: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "" +msgstr "シリアル番号" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "ステータス" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" -msgstr "" +msgstr "組立ライン" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1686,11 +1687,11 @@ msgstr "" #: build/templates/build/build_base.html:72 msgid "Edit Build" -msgstr "" +msgstr "組立を編集" #: build/templates/build/build_base.html:74 msgid "Cancel Build" -msgstr "" +msgstr "組立をキャンセル" #: build/templates/build/build_base.html:77 msgid "Duplicate Build" @@ -1698,7 +1699,7 @@ msgstr "" #: build/templates/build/build_base.html:80 msgid "Delete Build" -msgstr "" +msgstr "組立を削除" #: build/templates/build/build_base.html:85 #: build/templates/build/build_base.html:86 @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "外部URLからの画像ダウンロードを許可する" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "外部URL画像の最大サイズ" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "テンプレート" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" -msgstr "" +msgstr "販売可能" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "シリアル番号を自動入力" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" -msgstr "" +msgstr "メールアドレスは必須です" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" -msgstr "非アクティブなパーツを非表示" +msgstr "非アクティブな部品を非表示" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" -msgstr "購読中のパーツを表示" +msgstr "購読中の部品を表示" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3610,10 +3611,10 @@ msgstr "" #: company/models.py:122 msgid "Contact email address" -msgstr "" +msgstr "連絡先メールアドレス" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "製造元" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "仕入先" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4023,13 +4026,13 @@ msgstr "" #: templates/js/translated/stock.js:2930 #: templates/js/translated/table_filters.js:800 msgid "Customer" -msgstr "" +msgstr "顧客" #: company/templates/company/company_base.html:112 msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "メーカー" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4235,14 +4238,14 @@ msgstr "仕入先" #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "" +msgstr "パラメータ" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "" +msgstr "新規パラメータ" #: company/templates/company/manufacturer_part.html:206 #: templates/js/translated/part.js:1419 @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4375,34 +4378,34 @@ msgstr "" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" -msgstr "" +msgstr "在庫商品" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" -msgstr "" +msgstr "外部ページへのリンク" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" -msgstr "" +msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" -msgstr "" +msgstr "キーワード" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" -msgstr "" +msgstr "カテゴリID" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" -msgstr "" +msgstr "カテゴリ名" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "パーツ" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,16 +5616,16 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "パーツカテゴリ" #: part/models.py:77 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" -msgstr "" +msgstr "パーツカテゴリ" #: part/models.py:129 msgid "Default location for parts in this category" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "カテゴリ" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" -msgstr "" +msgstr "パーツカテゴリ" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" -msgstr "" +msgstr "カテゴリを選択" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6607,36 +6610,36 @@ msgstr "" #: part/templates/part/category.html:59 msgid "Edit category" -msgstr "" +msgstr "カテゴリを編集" #: part/templates/part/category.html:60 msgid "Edit Category" -msgstr "" +msgstr "カテゴリを編集" #: part/templates/part/category.html:64 msgid "Delete category" -msgstr "" +msgstr "カテゴリを削除" #: part/templates/part/category.html:65 msgid "Delete Category" -msgstr "" +msgstr "カテゴリを削除" #: part/templates/part/category.html:101 msgid "Top level part category" -msgstr "" +msgstr "トップレベルのパーツカテゴリ" #: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "" +msgstr "サブカテゴリ" #: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" -msgstr "" +msgstr "パーツ (サブカテゴリを含む)" #: part/templates/part/category.html:164 msgid "Create new part" -msgstr "" +msgstr "新規パーツを作成" #: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" @@ -6646,11 +6649,11 @@ msgstr "新規パーツ" #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "" +msgstr "パーツパラメータ" #: part/templates/part/category.html:210 msgid "Create new part category" -msgstr "" +msgstr "新しいパーツカテゴリを作成" #: part/templates/part/category.html:211 msgid "New Category" @@ -6658,7 +6661,7 @@ msgstr "新規カテゴリ" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "" +msgstr "パーツをインポート" #: part/templates/part/copy_part.html:10 #, python-format @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -6980,7 +6983,7 @@ msgstr "" #: part/templates/part/part_base.html:358 #: stock/templates/stock/item_base.html:323 msgid "Search for serial number" -msgstr "" +msgstr "シリアル番号で検索" #: part/templates/part/part_base.html:446 msgid "Part QR Code" @@ -7105,7 +7108,7 @@ msgstr "" #: part/templates/part/prices.html:34 part/templates/part/prices.html:116 msgid "Price Category" -msgstr "" +msgstr "価格カテゴリ" #: part/templates/part/prices.html:35 part/templates/part/prices.html:117 msgid "Minimum" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "アクションが指定されていません" msgid "No matching action found" msgstr "一致するアクションが見つかりませんでした" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7699,7 +7803,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1693 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "" +msgstr "シリアル番号" #: report/templates/report/inventree_slr_report.html:97 msgid "Stock location items" @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,367 +8005,367 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" -msgstr "" +msgstr "シリアル番号が既に存在します" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" #: stock/serializers.py:121 msgid "Serial number is too large" -msgstr "" +msgstr "シリアル番号が大きすぎます" #: stock/serializers.py:222 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" -msgstr "" +msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8831,7 +8935,7 @@ msgstr "" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "" +msgstr "カテゴリ設定" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" @@ -9153,7 +9257,7 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:265 msgid "No category parameter templates found" -msgstr "" +msgstr "カテゴリパラメータテンプレートはありません" #: templates/InvenTree/settings/settings_staff_js.html:288 #: templates/js/translated/part.js:1642 @@ -9167,15 +9271,15 @@ msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:306 msgid "Edit Category Parameter Template" -msgstr "" +msgstr "カテゴリパラメータテンプレートを編集" #: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" -msgstr "" +msgstr "カテゴリパラメータテンプレートを削除" #: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" -msgstr "" +msgstr "カテゴリパラメータテンプレートを作成" #: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" @@ -9325,7 +9429,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "" +msgstr "メールアドレスを追加" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9812,12 +9916,12 @@ msgstr "" #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "" +msgstr "このパーツを表示するには、次のリンクをクリックしてください" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/part.js:3182 msgid "Minimum Quantity" -msgstr "" +msgstr "最小在庫" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" -msgstr "" +msgstr "在庫がありません" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10297,7 +10401,7 @@ msgstr "" #: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 #: templates/js/translated/stock.js:296 msgid "Latest serial number" -msgstr "" +msgstr "最新のシリアル番号" #: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" @@ -10538,7 +10642,7 @@ msgstr "" #: templates/js/translated/build.js:2159 msgid "Progress" -msgstr "" +msgstr "進捗" #: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" @@ -11164,7 +11268,7 @@ msgstr "" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "" +msgstr "パーツカテゴリを追加" #: templates/js/translated/part.js:305 msgid "Parent part category" @@ -11176,31 +11280,31 @@ msgstr "" #: templates/js/translated/part.js:349 msgid "Create Part Category" -msgstr "" +msgstr "パーツカテゴリを作成" #: templates/js/translated/part.js:352 msgid "Create new category after this one" -msgstr "" +msgstr "カテゴリ作成後に新しいパーツカテゴリーを作成" #: templates/js/translated/part.js:353 msgid "Part category created" -msgstr "" +msgstr "パーツカテゴリを作成しました" #: templates/js/translated/part.js:367 msgid "Edit Part Category" -msgstr "" +msgstr "パーツカテゴリを編集" #: templates/js/translated/part.js:380 msgid "Are you sure you want to delete this part category?" -msgstr "" +msgstr "このパーツカテゴリを削除してもよろしいですか?" #: templates/js/translated/part.js:385 msgid "Move to parent category" -msgstr "" +msgstr "親カテゴリに移動" #: templates/js/translated/part.js:394 msgid "Delete Part Category" -msgstr "" +msgstr "パーツカテゴリを削除" #: templates/js/translated/part.js:398 msgid "Action for parts in this category" @@ -11321,7 +11425,7 @@ msgstr "購読中のパーツ" #: templates/js/translated/part.js:807 msgid "Salable part" -msgstr "" +msgstr "販売可能パーツ" #: templates/js/translated/part.js:886 msgid "Schedule generation of a new stocktake report." @@ -11402,15 +11506,15 @@ msgstr "" #: templates/js/translated/part.js:2195 msgid "Set the part category for the selected parts" -msgstr "" +msgstr "選択した部品にパーツカテゴリを設定します" #: templates/js/translated/part.js:2200 msgid "Set Part Category" -msgstr "" +msgstr "パーツカテゴリを設定" #: templates/js/translated/part.js:2230 msgid "Set category" -msgstr "" +msgstr "カテゴリを設定" #: templates/js/translated/part.js:2283 msgid "parts" @@ -11418,7 +11522,7 @@ msgstr "" #: templates/js/translated/part.js:2379 msgid "No category" -msgstr "" +msgstr "カテゴリがありません" #: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 #: templates/js/translated/stock.js:2640 @@ -11431,7 +11535,7 @@ msgstr "" #: templates/js/translated/part.js:2640 msgid "No subcategories found" -msgstr "" +msgstr "サブカテゴリがありません" #: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" @@ -11439,7 +11543,7 @@ msgstr "" #: templates/js/translated/part.js:2756 msgid "Load Subcategories" -msgstr "" +msgstr "サブカテゴリを読み込み" #: templates/js/translated/part.js:2772 msgid "Subscribed category" @@ -12203,11 +12307,11 @@ msgstr "" #: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" -msgstr "" +msgstr "シリアル番号を入力" #: templates/js/translated/stock.js:614 msgid "Enter a serial number" -msgstr "" +msgstr "シリアル番号を入力" #: templates/js/translated/stock.js:634 msgid "No matching serial number" @@ -12625,7 +12729,7 @@ msgstr "" #: templates/js/translated/table_filters.js:279 #: templates/js/translated/table_filters.js:707 msgid "Include subcategories" -msgstr "" +msgstr "サブカテゴリを含む" #: templates/js/translated/table_filters.js:287 #: templates/js/translated/table_filters.js:755 @@ -12662,7 +12766,7 @@ msgstr "" #: templates/js/translated/table_filters.js:383 #: templates/js/translated/table_filters.js:384 msgid "Serial number" -msgstr "" +msgstr "シリアル番号" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 @@ -12781,7 +12885,7 @@ msgstr "" #: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" -msgstr "" +msgstr "サブカテゴリのパーツを含む" #: templates/js/translated/table_filters.js:713 msgid "Show active parts" @@ -13072,7 +13176,7 @@ msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "メール設定" #: templates/stats.html:78 msgid "Email settings not configured" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 7b39a3ff67..a5fa333a6b 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint 없음" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "이 모델을 볼 수 있는 권한이 없습니다." -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "오류 세부 정보는 관리자 패널에서 찾을 수 있습니다." -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "날짜 입력" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "날짜 입력" msgid "Notes" msgstr "메모" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -98,99 +103,99 @@ msgstr "새 비밀번호 확인" msgid "Old password" msgstr "이전 암호" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "이메일 (다시 입력)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "이메일 주소 확인" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "이메일" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "첨부파일" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "첨부할 파일을 선택하세요" msgid "Link" msgstr "링크" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "외부 URL로 링크" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "사용자" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "업로드 날짜" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "파일명은 비워둘 수 없습니다" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "파일명에 허용되지 않은 문자 '{c}'가 포함되어 있습니다" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "같은 이름의 첨부파일이 이미 존재합니다" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "파일 이름 바꾸기 오류" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "" msgid "Name" msgstr "이름" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "이름" msgid "Description" msgstr "설명" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "설명 (선택 사항)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "바코드 해시" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -683,7 +688,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "사용자 정보 수정" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "비밀번호 설정" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "비밀번호가 일치해야 합니다" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "시스템 정보" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "수량" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "일련번호" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "위치" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "상태" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "재시작 필요" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "회사명" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "기본 통화" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "URL에서 다운로드" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "바코드 지원" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "구입 가능" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "판매 가능" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "작성자" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "이미지" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "회사" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "고객" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "신규 고객" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "새 회사" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "높이 [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "바코드" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "데이터" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index a8f5cbfb63..3aacdbd350 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Geen waarde opgegeven" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Voer datum in" msgid "Notes" msgstr "Opmerkingen" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Waarde '{name}' verschijnt niet in patroonformaat" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Opgegeven waarde komt niet overeen met vereist patroon: " @@ -98,99 +103,99 @@ msgstr "Nieuw wachtwoord bevestigen" msgid "Old password" msgstr "Oude wachtwoord" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-mailadres (opnieuw)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "E-mailadres bevestiging" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Het opgegeven primaire e-mailadres is ongeldig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Registratie is uitgeschakeld." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplicaat serienummer" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Groepsbereik {g} overschrijdt toegestane hoeveelheid ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Verwijder HTML tags van deze waarde" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Verbindingsfout" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Server reageerde met ongeldige statuscode" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Uitzondering opgetreden" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Server reageerde met ongeldige Content-Length waarde" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Afbeeldingsformaat is te groot" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Beelddownload overschrijdt de maximale grootte" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Externe server heeft lege reactie teruggegeven" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Log in bij de app" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metadata moeten een python dict object zijn" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Plugin Metadata" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata veld, voor gebruik door externe plugins" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Onjuist opgemaakt patroon" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Onbekende opmaaksleutel gespecificeerd" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Vereiste opmaaksleutel ontbreekt" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Referentieveld mag niet leeg zijn" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Referentie moet overeenkomen met verplicht patroon" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Ontbrekend bestand" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "Link" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link naar externe URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Bestandsnaam mag niet leeg zijn" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Foute bijlagemap" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Bestandsnaam bevat illegale teken '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Bestandsnaam mist extensie" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Bijlage met deze bestandsnaam bestaat al" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Fout bij hernoemen bestand" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Ongeldige keuze" msgid "Name" msgstr "Naam" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Naam" msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "bovenliggende" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" @@ -634,7 +639,7 @@ msgstr "Chinees (vereenvoudigd)" msgid "Chinese (Traditional)" msgstr "Chinees (traditioneel)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -683,7 +688,7 @@ msgstr "Retour" msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Restitutie" msgid "Reject" msgstr "Afwijzen" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Ongeldige fysieke eenheid" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Geen geldige valutacode" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Overschotwaarde mag niet negatief zijn" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Overschot mag niet groter zijn dan 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Onjuist wachtwoord opgegeven" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Systeeminformatie" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Verbruiksartikelen" msgid "Optional" msgstr "Optioneel" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Ongeldige keuze voor bovenliggende productie" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Verkooporder Referentie" msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Bouw prioriteit" msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Project Code" msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Bouw object" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Bouw object" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:269 +#: build/serializers.py:267 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:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" msgid "Location" msgstr "Locatie" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Locatie van voltooide productieuitvoeren" msgid "Status" msgstr "Status" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Verminder alle voorraad die al is toegewezen aan deze productie" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:790 +#: build/serializers.py:786 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:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Voorraad vereist voor productieorder" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Achterstallige Productieorder" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" @@ -1730,8 +1731,8 @@ 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:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Bestemming" @@ -2013,1372 +2014,1372 @@ msgstr "Bijgewerkt" msgid "Timestamp of last update" msgstr "Tijdstempel van laatste update" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Unieke projectcode" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Projectbeschrijving" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Geen groep" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Een leeg domein is niet toegestaan." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ongeldige domeinnaam: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Toon de `over` modal alleen aan superusers" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Selecteer basisvaluta voor de berekening van prijzen" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "dagen" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Download limiet" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "User-agent gebruikt om te downloaden van URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Sta toe om de user-agent te overschrijven die gebruikt wordt om afbeeldingen en bestanden van externe URL te downloaden (laat leeg voor de standaard)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Bevestiging vereist" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Vereis expliciete bevestiging van de gebruiker voor bepaalde actie." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Boomstructuur Diepte" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standaard diepte voor treeview. Diepere niveaus kunnen geladen worden wanneer ze nodig zijn." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Interval voor update" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Automatische backup" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Automatische back-up van database- en mediabestanden inschakelen" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Automatische backup interval" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Geef het aantal dagen op tussen geautomatiseerde backup" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Interval Taak Verwijderen" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Error Log Verwijderings Interval" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Interval Verwijderen Notificatie" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Meldingen van gebruikers worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Barcode Invoer Vertraging" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Barcode invoerverwerking vertraging" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Herzieningen onderdeel" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Component" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Volgbaar" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1529 +#: common/models.py:1518 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:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1567 +#: common/models.py:1556 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:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Bepaalt standaard gedrag wanneer een voorraaditem is uitgeput" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1615 +#: common/models.py:1604 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:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Verplicht patroon voor het genereren van Retour Order referentie veld" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Schakel voorraadfunctionaliteit in voor het opnemen van voorraadniveaus en het berekenen van voorraadwaarde" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Aantal dagen tussen automatische voorraadopname (ingesteld op nul om uit te schakelen)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Toon niet-gevalideerde BOM's" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-labels in browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-rapporten in de browser weergeven, in plaats van als bestand te downloaden" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "Voorraadartikelen die niet beschikbaar zijn niet in het zoekvenster weergeven" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "Aantal resultaten om weer te geven in elk gedeelte van het zoekvenster" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "De navigatiebalk positie is gefixeerd aan de bovenkant van het scherm" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limiet tekenreeksen voor het weergegeven in tabelweergaven" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "Standaard sjabloon product onderdeel" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "Standaard sjabloon voorraad onderdeel" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "Standaard label van voorraadlocatie" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Prijs" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "Naam van deze webhook" msgid "Active" msgstr "Actief" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Token" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Geheim" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Host" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Koptekst" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Een nieuwe order is aangemaakt en aan u toegewezen" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Artikelen zijn ontvangen tegen een inkooporder" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "Geïmporteerde onderdelen" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Fabriceert dit bedrijf onderdelen?" msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Bedrijf" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Onderdeel selecteren" msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Fabrikant selecteren" msgid "MPN" msgstr "MPN" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Waarde" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Eenheden" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd msgid "Supplier" msgstr "Leverancier" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Leverancier selecteren" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Opmerking" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "basisprijs" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "meerdere" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Klant" msgid "Uses default currency" msgstr "Gebruik standaard valuta" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabrikanten" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Koppel barcode aan leveranciers onderdeel" msgid "Update Part Availability" msgstr "Beschikbaarheid van onderdeel bijwerken" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Voorraadartikelen" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Nieuwe fabrikant" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Klanten" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Nieuwe Klant" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Bedrijven" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nieuw Bedrijf" @@ -4422,7 +4425,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Ingeschakeld" @@ -4446,7 +4449,7 @@ msgstr "Hoogte [mm]" msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filters" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Inkooporder" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:245 +#: order/models.py:239 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:254 +#: order/models.py:248 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "ontvangen door" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:870 +#: order/models.py:860 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:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 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:880 +#: order/models.py:870 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:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Context" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Order" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Leveranciersonderdeel" msgid "Received" msgstr "Ontvangen" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Zending" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1607 +#: order/models.py:1591 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:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Regel" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Artikel" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Achterstallige inkooporder" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Inkooporder {po} is nu achterstallig" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Achterstallige Verkooporder" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Verkooporder {so} is nu achterstallig" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Verzendingen in behandeling" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Acties" @@ -5431,47 +5434,47 @@ 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/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Onderdeel naam" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "Onderdelen" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standaard locatie" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -5613,7 +5616,7 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Stuklijstartikel" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "Toegewezen aan Productieorder" msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "Geen actie gespecificeerd" msgid "No matching action found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Geen overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "Totaal" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Voorraadlocatie" msgid "Stock Locations" msgstr "Voorraadlocaties" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,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:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 204a3a8acf..af4630e42b 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:01\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Ingen verdi angitt" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan finnes i admin-panelet" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Oppgi dato" msgid "Notes" msgstr "Notater" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Verdi '{name}' vises ikke i mønsterformat" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: " @@ -98,99 +103,99 @@ msgstr "Bekreft nytt passord" msgid "Old password" msgstr "Gammelt passord" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-post (gjenta)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Bekreft e-postaddresse" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Den oppgitte primære e-postadressen er ikke gyldig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Det oppgitte e-postdomenet er ikke godkjent." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Registrering er deaktivert." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Duplisert serienummer" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ugyldig gruppeserie: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Gruppeserie {g} overskrider tillatt antall ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ugyldig gruppesekvens: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tagger fra denne verdien" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Serveren svarte med ugyldig statuskode" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Det har oppstått et unntak" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Bildestørrelsen er for stor" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Bildenedlasting overskred maksimal størrelse" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Ekstern server returnerte tomt svar" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "E-post" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metadata må være et python dict-objekt" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Utvidelse-metadata" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "JSON-metadatafelt, for bruk av eksterne utvidelser" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Uriktig formatert mønster" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Ukjent formatnøkkel spesifisert" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøkkel" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Referansefeltet kan ikke være tomt" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Referansen må samsvare påkrevd mønster" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Fil mangler" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Filnavn kan ikke være tomt" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Ugyldig vedleggskatalog" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnavn inneholder ugyldig tegn '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Filnavn mangler filtype" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Vedlegg med dette filnavnet finnes allerede" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Feil ved endring av filnavn" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Ugyldig valg" msgid "Name" msgstr "Navn" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "overkategori" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Ingen datarader funnet i fil" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Ingen datarader oppgitt" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliaktkolonne: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -683,7 +688,7 @@ msgstr "Returnert" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Refusjon" msgid "Reject" msgstr "Avvis" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Ugyldig fysisk enhet" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Ikke en gyldig valutakode" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Svinn-verdien kan ikke være negativ" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Svinn kan ikke overstige 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Ugyldig verdi for svinn" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Feil passord angitt" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformasjon" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Forbruksvare" msgid "Optional" msgstr "Valgfritt" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Spores" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Ugylding valg for overordnet build" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Build order som denne build er tildelt til" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Salgsordrereferanse" msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Produksjonsstatus" msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Fullført dato" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Produksjonsprioritet" msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Prosjektkode" msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggeordre {build} er fullført" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Byggeordre er fullført" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Bygg objekt" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Bygg objekt" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Bygg objekt" msgid "Quantity" msgstr "Antall" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Påkrved kvantitet for ordre" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er markert som sporbar" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "En liste over produksjonsartikler må oppgis" msgid "Location" msgstr "Plassering" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Lagreplassering for skrotet utganger" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast lagerallokering for skrotet utganger" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Grunnen til utrangering av bygg utgang(er)" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Plassering for ferdige produksjonsartikler" msgid "Status" msgstr "Status" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Fjern tildelt lagerbeholdning" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Trekk fra all lagerbeholdning som allerede er tildelt denne produksjonen" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Bygg linje" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "Bygg linjeelement" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part må peke på den samme delen som produksjonsordren" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "Denne lagervaren er allerede tildelt til denne produksjonsartikkelen" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Erstatning av lagerbeholdning" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Lagerbeholdning kreves for produksjonsordre" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Forfalt produksjonsordre" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Produksjonsordre {bo} er nå forfalt" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "Lagerkilde" 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Destinasjon" @@ -2013,1372 +2014,1372 @@ msgstr "Oppdatert" msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Unik prosjektkode" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Prosjektbeskrivelse" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Et tomt domene er ikke tillatt." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Ugyldig domenenavn: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Omstart kreves" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endret som krever en omstart av serveren" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Navn på serverinstans" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Bruk instansnavn" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Bruk instansnavnet på tittellinjen" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Begrens visning av 'om'" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Base-URL for serverinstans" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Velg grunnvalutaen for prisberegninger" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "dager" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Tillat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "User-Agent brukt for å laste ned fra URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Tillat overstyring av User-Agent brukt for å laste ned bilder og filer fra eksterne URLer (lå stå blank for standard)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Krev bekreftelse" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Tredybde" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard tredybde for trevisning. Dypere nivåer kan lastes inn ved behov." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Intervall for oppdateringssjekk" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Automatisk sikkerhetskopieringsintervall" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Slettingsintervall for oppgaver" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Slettingsintervall for feillogg" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Slettingsintervall for varsler" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter angitt antall dager" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Strekkodestøtte" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Innlesingsforsinkelse for strekkode" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Tidsforsinkelse for behandling av strekkode" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Støtte for strekkodewebkamera" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Delrevisjoner" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopier BOM-data som standard når du dupliserer en del" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Mal" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Sammenstilling" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponent" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Sporbar" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Når det skrives ut en Testrapport, legg ved en kopi av Testrapporten på den assosierte Lagervaren" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Bestemmer standard oppførsel når en lagervare er oppbrukt" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Påkrevd mønster for å generere returordrereferansefelt" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "Gruppe nye brukere blir tilknyttet ved registrering" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Aktiver varetellingsfunksjonalitet for å registrere lagernivåer og regne ut lagerverdi" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Antall dager mellom automatisk varetellingsregistrering (sett til null for å deaktivere)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte stykklister" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for strenger vist i tabeller" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "Standard del etikett mal" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "Del etikett malen skal velges automatsik" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "Standard lagervarer mal" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "Lagervarer etikett mal skal valges automatisk" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "Standard lagervarer lokasjon etikett mal" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "Lagervarer lokasjon etikett malen skal valges automatisk" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Pris" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "Navn for webhooken" msgid "Active" msgstr "Aktiv" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Sjetong" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Vert" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Tittel" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Forfatter" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Les" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Bildefil" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Ny {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "En ny ordre har blitt opprettet og tilordnet til deg" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Artikler mottatt" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Artikler har blitt mottatt mot en innkjøpsordre" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "Artikler har blitt mottatt mot en returordre" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" @@ -3571,7 +3572,7 @@ msgstr "Matching av felter mislyktes" msgid "Parts imported" msgstr "Deler importert" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Produserer dette firmaet deler?" msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Vegl bedrift" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "Adressetittel" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "Tittel som beskriver addressen" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "Hovedadresse" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "Sett som hovedadresse" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Linje 1" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "Adresselinje 1" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Linje 2" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "Adresselinje 2" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "Poststed/område" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "Postnummerets by/område" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "Delstat/provins" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "Delstat eller provins" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "Land" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "Adressens land" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "Notater til transportør" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "Notater for transportør" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "Interne fraktnotater" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "Fraktnotater for internt bruk" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Velg del" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Velg del" msgid "Manufacturer" msgstr "Produsent" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Velg produsent" msgid "MPN" msgstr "MPN" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Verdi" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Enheter" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "Pakkeenhetene må være komptible med basisdelenhetene" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "Mengden må være større enn null" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" msgid "Supplier" msgstr "Leverandør" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Velg leverandør" msgid "SKU" msgstr "SKU-kode" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Notat" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift på lager)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Emballasje" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Delemballasje" msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totall antall pakket i en enkelt pakke. La stå tomt for enkeltgjenstander." -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "flere" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" @@ -4011,10 +4014,10 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "Bruker standardvaluta" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "Bedriftens adresse" msgid "Add Address" msgstr "Legg til adresse" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Produsenter" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "Ingen produsentinformasjon tilgjengelig" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "Adresser" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Koble strekkode til Leverandørdel" msgid "Update Part Availability" msgstr "Oppdater Delens Tilgjengelighet" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Lagervarer" msgid "Supplier Part Pricing" msgstr "Leverandørdelprising" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Ny Leverandør" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Ny Produsent" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Kunder" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Ny Kunde" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmaer" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nytt Firma" @@ -4422,7 +4425,7 @@ msgstr "Etikett" msgid "Label template file" msgstr "Etikett-malfil" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Aktivert" @@ -4446,7 +4449,7 @@ msgstr "Høyde [mm]" msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Filnavnmønster" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "Søkefiltre (kommaseparert liste over nøkkel=verdi-par)" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtre" @@ -4478,7 +4481,7 @@ msgstr "QR-kode" msgid "QR code" msgstr "QR-kode" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "QR-kode" msgid "Total Price" msgstr "Total pris" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Innkjøpsordre" msgid "Return Order" msgstr "Returordre" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Ukjent" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Ordre valuta" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "Bedriftsadresse for denne ordren" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Leverandør ordrereferanse" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "mottatt av" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Utgivelsesdato" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Dato bestilling ble sendt" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Leveringsdato" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "sendt av" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige varepartier" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Linje referanse" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Linje notat" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "Linjeelementbeskrivelse (valgfritt)" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Kontekst" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "slettet" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Ordre" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Leverandørdel" msgid "Received" msgstr "Mottatt" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Linje" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Artikkel" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Utfall" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "Valuta for linje" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Forfalt Innkjøpsordre" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Innkjøpsordre {po} er nå forfalt" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Forfalt Salgsordre" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Salgsordre {so} er nå forfalt" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Ventende forsendelser" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Handlinger" @@ -5431,47 +5434,47 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Delnavn" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Nøkkelord" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "Kategori-ID" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Kategorinavn" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "Standard posisjons-ID" @@ -5479,11 +5482,11 @@ msgstr "Standard posisjons-ID" msgid "Default Supplier ID" msgstr "Standard leverandør ID" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimum lagervare" @@ -5493,8 +5496,8 @@ msgstr "Minimum lagervare" msgid "In Stock" msgstr "På lager" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Brukt i" msgid "Building" msgstr "Produseres" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "Minimum kostnad" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "Maksimum kostnad" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "Overordnet ID" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "Overordnet navn" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Sti til kategori" msgid "Parts" msgstr "Deler" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "BOM-nivå" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "BOM artikkel-ID" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "Del IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Makspris" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Innkommende innkjøpsordre" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Utgående salgsordre" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "Lagervarer produsert av bygg order" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "Lagervarer som kreves for Bygg Order" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Gyldig" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standard plassering" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" @@ -5613,7 +5616,7 @@ msgstr "Tilgjengelig lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -5659,62 +5662,62 @@ msgstr "Ikon (valgfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Del '{p1}' er brukt i stykklisten til '{p2}' (rekursivt)" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Internt delnummer må matche regex-mønster {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Delnavn" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Category" msgstr "Kategori" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Delkategori" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Bruker ansvarlig for denne delen" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "Antall" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Rapport" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "Avmerkingsboks parameter kan ikke ha enheter" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "Avmerkingsboks parameter kan ikke har valg" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "Valg må være unikt" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Avmerkingsboks" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en avmerkingsboks?" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "Valg" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Data" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Nivå" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "BOM-artikkel" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Produsentens delenummer" @@ -6375,190 +6378,190 @@ msgstr "Produsentens delenummer" msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "Inkluder arvet" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM elementer dupliseres" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "Flere matchende deler funnet" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "Ingen matchende delere funnet" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "Totalt Antall" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "Total Kostnad Min" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "Total Kostnad Max" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "Lagertellingsrapport tilgjengelig" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "Godkjenn BOM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Legg til BOM-artikkel" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Tildelt til Salgsordrer" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "Kan Produsere" @@ -7216,11 +7219,11 @@ msgstr "Opprett ny variant av del" msgid "Create a new variant part from this template" msgstr "Opprett en ny variant del fra denne malen" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Ukjent database" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7258,19 +7261,20 @@ msgstr "Ingen handling spesifisert" msgid "No matching action found" msgstr "Ingen samsvarende handling funnet" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "Mangler strekkodedata" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Ingen treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "Strekkode samsvarer med ekisterende element" @@ -7279,6 +7283,52 @@ msgstr "Strekkode samsvarer med ekisterende element" msgid "No match found for provided value" msgstr "Ingen samsvar funnet for angitt verdi" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Utskrift av etikett mislyktes" @@ -7295,6 +7345,8 @@ msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "InvenTree-bidragsytere" @@ -7332,7 +7384,7 @@ msgstr "Slack innkommende webhook" msgid "URL that is used to send messages to a slack channel" msgstr "URL brukt til å sende meldinger til en Slack-kanal" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Åpne lenke" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "Installasjonen ble ikke bekreftet" msgid "Either packagename of URL must be provided" msgstr "Enten pakkenavn eller URL må angis" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Ingen gyldige objekter angitt for mal" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Malfil '{template}' mangler eller eksisterer ikke" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "Testrapport" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Malnavn" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Rapportmalfil" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Beskrivelse av rapportmal" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Rapportrevisjonsnummer (øker automatisk)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "Mønster for å generere rapportfilnavn" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Rapportmal er aktiver" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagervare-søkefilter (kommaseparert liste over nøkkel=verdi-par)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "Inkluder installerte tester" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "Inkluder testresultater for lagervarer installert i sammenstilt artikkel" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "Produksjonsfiltre" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Produksjons-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Delfiltre" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Del-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Innkjøpsordre-søkefilter" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Salgsordre-søkefilter" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "Returordre-søkefilter" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Snutt" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Ressurs" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "Testresultater" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Resultat" @@ -7787,7 +7891,7 @@ msgstr "Leverandørnavn" msgid "Customer ID" msgstr "Kunde-ID" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Installert i" @@ -7812,33 +7916,33 @@ msgstr "Gjennomgang kreves" msgid "Delete on Deplete" msgstr "Slett når oppbrukt" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Utløpsdato" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "Er denne artikkelen montert i en annen artikkel?" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Lagerantall" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Kildeproduksjon" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "Produksjon for denne lagervaren" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "Brukt av" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Kildeinnkjøpsordre" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Innkjøpsordre for denne lagervaren" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Tildelt Salgsordre" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Slett når oppbrukt" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Slett lagervaren når beholdningen er oppbrukt" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "Innkjøpspris per enhet på kjøpstidspunktet" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({n})" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "Serienumre må være en liste over tall" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Testnavn" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "Testnotater" @@ -8127,141 +8231,141 @@ msgstr "Serienummeret er for høyt" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Antall som kreves" @@ -10178,74 +10282,74 @@ msgstr "Variantbeholdning tillatt" msgid "Substitutes" msgstr "Erstatninger" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "BOM-prising er komplett" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "BOM-prising er ufullstendig" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "Ingen prising tilgjengelig" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "Ingen lagerbeholdning tilgjengelig" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "Inkluderer variant- og erstatningsbeholdning" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "Inkluderer variantbeholdning" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "Forbruksvare" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "Godkjenn BOM-artikkel" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "Denne linjen er godkjent" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "Rediger erstatningsdeler" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Rediger BOM-artikkel" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Slett BOM-artikkel" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Vis stykkliste" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "Ingen BOM-artikler funnet" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "Påkrevd del" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Arvet fra overordnet stykkliste" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 294d250df7..fa38e6f39b 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:02\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Wprowadź dane" msgid "Notes" msgstr "Uwagi" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Wartość '{name}' nie pojawia się w formacie wzoru" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Podana wartość nie pasuje do wymaganego wzoru: " @@ -98,99 +103,99 @@ msgstr "Potwierdź nowe hasło" msgid "Old password" msgstr "Stare hasło" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Adres email (ponownie)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Potwierdzenie adresu email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Podany podstawowy adres e-mail jest nieprawidłowy." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Podany e-mail domeny nie został zatwierdzony." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Podwójny numer seryjny" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Nieprawidłowy zakres grupy: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Zakres grupy {g} przekracza dozwoloną ilość ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Nieprawidłowa sekwencja grupy: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Usuń znaczniki HTML z tej wartości" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Błąd połączenia" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Wystąpił wyjątek" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Rozmiar obrazu jest zbyt duży" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Zdalny serwer zwrócił pustą odpowiedź" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "Adres E-Mail" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Nieprawidłowo sformatowany wzór" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Określono nieznany format klucza" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Brak wymaganego formatu klucza" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Pole odniesienia nie może być puste" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Odniesienie musi być zgodne z wymaganym wzorem" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Brak pliku" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Nazwa pliku nie może być pusta" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Nieprawidłowy katalog załącznika" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Nazwa pliku zawiera niedozwolony znak '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Brak rozszerzenia w nazwie pliku" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Załącznik o tej nazwie już istnieje" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Błąd zmiany nazwy pliku" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Błędny wybór" msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nazwa" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "nadrzędny" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -683,7 +688,7 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Nieprawidłowy kod waluty" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Wartość przedawnienia nie może być ujemna" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Przedawnienie nie może przekroczyć 100 %" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Podano nieprawidłowe hasło" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Informacja systemowa" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Odwołanie do zamówienia sprzedaży" msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Data zakończenia" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "Status" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Przeznaczenie" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Brak grupy" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "dni" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Szablon" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Komponent" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1721 +#: common/models.py:1710 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:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1756 +#: common/models.py:1745 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:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Cena" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Sekret" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Zawartość" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Czy to przedsiębiorstwo produkuje części?" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Firma" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Wybierz część" msgid "Manufacturer" msgstr "Producent" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Wybierz producenta" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Wartość" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Jednostki" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "Dostawca" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Wybierz dostawcę" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Uwaga" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Opakowanie części" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Klient" msgid "Uses default currency" msgstr "Używa domyślnej waluty" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Producenci" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Towary" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Nowy dostawca" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Now producent" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Klienci" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmy" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nowa firma" @@ -4422,7 +4425,7 @@ msgstr "Etykieta" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Aktywne" @@ -4446,7 +4449,7 @@ msgstr "Wysokość [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtry" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Zlecenie zakupu" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "odebrane przez" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "Odebrane" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Linia" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Komponent" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Akcje" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nazwa komponentu" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Wersja" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5493,8 +5496,8 @@ msgstr "Minimalny stan magazynowy" msgid "In Stock" msgstr "Na stanie" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Ścieżka kategorii" msgid "Parts" msgstr "Części" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Ważny" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Dostępna ilość" @@ -5613,7 +5616,7 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, 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:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1008 +#: part/models.py:1000 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:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1034 +#: part/models.py:1026 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:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Dane" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Poziom" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Element BOM" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "Weryfikuj BOM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Dodaj część do BOM" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Nieznana baza danych" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "Nie określono działania" msgid "No matching action found" msgstr "Nie znaleziono pasującej akcji" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Nie znaleziono wyników dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "Nazwa wtyczki" msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "Zainstalowane" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "Instalacja nie została potwierdzona" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "Razem" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Wynik" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Zainstalowane w" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Wybierz właściciela" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1485 +#: stock/models.py:1454 #, 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:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 461daaaede..0e317a49f1 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Nenhum valor fornecido" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Insira uma Data" msgid "Notes" msgstr "Anotações" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Valor '{name}' não está no formato correto" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " @@ -98,99 +103,99 @@ msgstr "Confirmar nova senha" msgid "Old password" msgstr "Senha atual" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-mail (novamente)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Confirmação do endereço de email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Você deve digitar o mesmo e-mail todas as vezes." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "O endereço primário de e-mail não é válido." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "O domínio de e-mail providenciado não foi aprovado." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Cadastro está desativado." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Número serial em branco" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Número de série duplicado" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Número de grupo inválido:{g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Intervalo de grupos {g} excede a quantidade permitida ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Sequência de grupo inválida:{g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Nenhum número de série foi encontrado" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "O número de números de série únicos ({s}) deve corresponder à quantidade ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Remova as \"tags\" HTML deste valor" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Erro de conexão" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "O servidor respondeu com código estado inválido" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Ocorreu uma exceção" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Tamanho da imagem muito grande" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "O download da imagem excedeu o tamanho máximo" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "O servidor remoto retornou resposta vazia" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Acesse no aplicativo" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metadados deve ser um objeto dict python" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Metadados da Extensão" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "Campo de metadados JSON, para uso por extensões externas" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Padrão formatado incorretamente" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Chave de formato desconhecida especificada" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Chave de formato obrigatória ausente" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "O campo de referência não pode ficar vazio" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "A referência deve corresponder ao padrão exigido" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "O número de referência é muito grande" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Arquivo ausente" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Link externo não encontrado" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Anexo" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Selecione arquivo para anexar" msgid "Link" msgstr "Link" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Link para URL externa" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "data de upload" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Nome do arquivo nao pode estar vazio" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Diretorio para anexo invalido" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Arquivo contem characteres ilegais '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Arquivo sem extensao" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Anexo ja existe" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Erro renomeando o arquivo" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomes duplicados não podem existir sob o mesmo parental" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Escolha inválida" msgid "Name" msgstr "Nome" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Nome" msgid "Description" msgstr "Descrição" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Descrição (opcional)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "parent" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Caminho" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Notas Markdown (opcional)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Dados de código de barras" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Hash de código de barras" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Hash exclusivo de dados de código de barras" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Erro de servidor" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Nome do arquivo" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Arquivo de dados" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Coluna duplicada: \"{col}\"" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Endereço da URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" @@ -634,7 +639,7 @@ msgstr "Chinês (Simplificado)" msgid "Chinese (Traditional)" msgstr "Chinês (Tradicional)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" @@ -683,7 +688,7 @@ msgstr "Retornado" msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Reembolsar" msgid "Reject" msgstr "Recusar" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Unidade física inválida" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Não é um código de moeda válido" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Valor excedente não deve ser negativo" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Excedente não deve exceder 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Valor de excedente inválido" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Editar informações do usuário" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Definir senha" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Os campos de senha devem coincidir" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Senha incorreta fornecida" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Informação do Sistema" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Consumível" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Consumível" msgid "Optional" msgstr "Opcional" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Monitorado" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Alocado" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Escolha de Produção parental inválida" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Pedido de produção para qual este serviço está alocado" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Referência do pedido de venda" msgid "SalesOrder to which this build is allocated" msgstr "Pedido de Venda para qual esta produção está alocada" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Progresso da produção" msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Data alvo final" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Data de conclusão" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Prioridade de Produção" msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Código do projeto" msgid "Project code for this build order" msgstr "Código do projeto para este pedido de produção" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde ao Pedido de Produção" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Objeto de produção" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Objeto de produção" msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Destino do Item do Estoque" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Saída de produção não coincide com a produção progenitora" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Peça de saída não coincide com a peça da ordem de produção" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Uma lista de saídas de produção deve ser fornecida" msgid "Location" msgstr "Local" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas recicladas" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Motivo para sucatear saída(s) de produção" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Local para saídas de produção concluídas" msgid "Status" msgstr "Situação" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Remover Estoque Alocado" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Subtrair qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "bin_item.part deve indicar a mesma peça do pedido de produção" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "O item em estoque já foi alocado para essa saída de produção" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais pode ser permutável" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para o pedido de produção" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Estoque obrigatório para o pedido de produção" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Pedido de produção vencido" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Saídas Concluídas" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "Origem do estoque" msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Destino" @@ -2013,1372 +2014,1372 @@ msgstr "Atualizado" msgid "Timestamp of last update" msgstr "Tempo da última atualização" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Código único do projeto" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Descrição do projeto" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Valor da Configuração" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "Valor escolhido não é uma opção válida" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Valor deve ser um valor booleano" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Valor deve ser um número inteiro" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "A frase senha deve ser diferenciada" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Nenhum grupo" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Um domínio vazio não é permitido." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Nome de domínio inválido: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Reinicialização necessária" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Nome da Instância do Servidor" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "Descritor de frases para a instância do servidor" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Usar nome da instância" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "Usar o nome da instância na barra de título" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "Restringir a exibição 'sobre'" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "Mostrar 'sobre' modal apenas para superusuários" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Nome da empresa" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Nome interno da Empresa" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "URL de Base" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "URL Base da instância do servidor" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Moeda Padrão" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "Selecione a moeda base para cálculos de preços" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "dias" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Baixar do URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Limite de tamanho para baixar" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Maior tamanho de imagem remota baixada permitida" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "Usuário-agente utilizado para baixar da URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Exigir confirmação" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Exigir confirmação explícita do usuário para uma certa ação." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Profundidade da árvore" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profundidade padrão de visualização da árvore. Níveis mais profundos podem ser carregados gradualmente conforme necessário." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Atualizar Intervalo de Verificação" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Frequência para verificar atualizações (defina como zero para desativar)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Cópia de Segurança Automática" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Intervalo de Backup Automático" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Especificar o número de dia entre as cópias de segurança" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Intervalo para Excluir da Tarefa" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Intervalo para Excluir do Registro de Erro" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Registros de erros serão excluídos após um número especificado de dias" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Intervalo para Excluir de Notificação" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Notificações de usuários será excluído após um número especificado de dias" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Suporte aos códigos de barras" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Atraso na entrada de código de barras" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Tempo de atraso de processamento de entrada de barras" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Suporte a código de barras via Câmera" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escanear código de barras por câmera pelo navegador" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Revisões de peças" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisão para a Peça" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Padrão de expressão regular adequado para Peça IPN" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Permitir Duplicação IPN" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que várias peças compartilhem o mesmo IPN" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Permitir Edição IPN" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "Copiar dados da LDM da Peça" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar dados da LDM por padrão quando duplicar a peça" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "Copiar Dados de Parâmetro da Peça" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Copiar Dados Teste da Peça" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "Copiar dados de teste por padrão quando duplicar a peça" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Copiar Parâmetros dos Modelos de Categoria" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Modelo" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Montagem" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Componente" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Comprável" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Vendível" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Rastreável" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtual" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Peças são virtuais por padrão" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Mostrar Importações em Visualizações" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Exibir o assistente de importação em algumas visualizações de partes" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Mostra peças relacionadas" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Mostrar peças relacionadas para uma peça" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Dados Iniciais de Estoque" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Formato de Exibição do Nome da Peça" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Formato para exibir o nome da peça" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Ícone de Categoria de Peça Padrão" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "Forçar Unidades de Parâmetro" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de Casas Decimais do Preço" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "Máximo Casas Decimais de Preço" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "Número de dias antes da atualização automática dos preços das peças" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Preços Internos" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Tamanho da página" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Ativar Relatórios Teste" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "Ativar geração de relatórios de teste" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "Anexar Relatórios de Teste" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando imprimir um Relatório de Teste, anexar uma cópia do mesmo ao item de estoque associado" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "Números de série para itens de estoque devem ser globalmente únicos" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Devolução" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "Ativar auto-registro para usuários na página de entrada" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Ativar auto-registro por SSO para usuários na página de entrada" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "Grupo ao qual novos usuários são atribuídos no registro" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Habilitar códigos de projeto" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "Ativar códigos de projeto para rastrear projetos" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "Excluir Locais Externos" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Relatórios de balanço serão apagados após um número de dias especificado" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Ocultar peças inativas" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Mostrar estoque baixo" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar itens de estoque necessários para produções na tela inicial" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "Não incluir peças inativas na janela de visualização de pesquisa" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "A posição do Navbar é fixa no topo da tela" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "Modelo de rótulo padrão da peça" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "O modelo de rótulo da peça a ser selecionado automaticamente" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "Modelo padrão de item de estoque" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "O modelo de rótulo do item a ser selecionado automaticamente" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "Modelo de rótulo de localização do estoque padrão" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Preço" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "Nome para este webhook" msgid "Active" msgstr "Ativo" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "Token" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "Segredo" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "Servidor" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Corpo" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Id" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Autor" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Lida" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "Esta notícia do item foi lida?" msgid "Image" msgstr "Imagem" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definição" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "Definição de unidade" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "Novo {verbose_name}" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "Um novo pedido foi criado e atribuído a você" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "Itens Recebidos" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "Os itens de um pedido de compra foram recebidos" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "Os itens de um pedido de devolução foram recebidos" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "Erro criado pela extensão" @@ -3571,7 +3572,7 @@ msgstr "Os campos não correspondem" msgid "Parts imported" msgstr "Peças importadas" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Endereço de e-mail do contato" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Esta empresa fabrica peças?" msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Empresa" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Selecione a Empresa" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "Título do endereço" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "Título descrevendo a entrada de endereço" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "Endereço Principal" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "Definir como endereço principal" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "Linha 1" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "Linha de endereço 1" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "Linha 2" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "Linha de endereço 2" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Código Postal" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "Cidade/Região" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "Código Postal Cidade / Região" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "Estado/Provincia" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "Estado ou Província" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "País" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "País do endereço" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "Notas de envio da transportadora" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "Notas para o envio da transportadora" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "Notas de envio interno" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "Notas de envio para uso interno" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Peça base" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Selecionar peça" msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Selecionar fabricante" msgid "MPN" msgstr "NPF" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Peça do Fabricante" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Valor" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Unidades" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "Unidades de pacote deve ser maior do que zero" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Selecione o fornecedor" msgid "SKU" msgstr "Código (SKU)" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Anotação" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "preço base" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Embalagem" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "Embalagem de peças" msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "múltiplo" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" @@ -4011,10 +4014,10 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Usar moeda padrão" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "Endereços da empresa" msgid "Add Address" msgstr "Adicionar endereço" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabricantes" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "Nenhuma informação do fabricante disponível" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "Endereços" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "Vincular Código de Barras à Parte do Fornecedor" msgid "Update Part Availability" msgstr "Atualizar disponibilidade de peças" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Itens de Estoque" msgid "Supplier Part Pricing" msgstr "Preço do Fornecedor Peça" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Novo Fornecedor" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Novo Fabricante" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Clientes" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Novo Cliente" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Empresas" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Nova Empresa" @@ -4422,7 +4425,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Habilitado" @@ -4446,7 +4449,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta (lista de valores separados por vírgula)" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtros" @@ -4478,7 +4481,7 @@ msgstr "Código QR" msgid "QR code" msgstr "Código QR" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "Código QR" msgid "Total Price" msgstr "Preço Total" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado" msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Pedido de Compra" msgid "Return Order" msgstr "Devolver pedido" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Desconhecido" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "Moeda do pedido" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "O contato não corresponde à empresa selecionada" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data." -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "Criado por" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "Endereço da empresa para este pedido" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "recebido por" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "enviado por" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "Descrição item de linha (opcional)" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Contexto" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "excluído" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "Pedido" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "Fornecedor da Peça" msgid "Received" msgstr "Recebido" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Data de Entrega" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "Data da entrega do envio" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "Linha" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "Item" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "Item do pedido não bate com o pedido de devolução" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "Pedido de compra vencido" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Pedido de compra {po} está atrasada" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "Pedido de venda vencido" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Pedido de venda {so} está atrasada" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "Envios Pendentes" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Ações" @@ -5431,47 +5434,47 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Nome da Peça" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Revisão" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palavras chave" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "ID da Categoria" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Nome da Categoria" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "ID Local Padrão" @@ -5479,11 +5482,11 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5493,8 +5496,8 @@ msgstr "Estoque Mínimo" msgid "In Stock" msgstr "Em Estoque" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Usado em" msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "Custo Máximo" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "ID Paternal" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "Nome Paternal" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Caminho da Categoria" msgid "Parts" msgstr "Peças" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "Nível da LDM" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "ID Item LDM" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "IPN da Peça" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "Estoque produzido pelo Pedido de Produção" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "Válido" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Local Padrão" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Estoque Total" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Estoque Disponível" @@ -5613,7 +5616,7 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -5659,62 +5662,62 @@ msgstr "Ícone (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Parte '{p1}' é usada na LDM para '{p2}' (recursiva)" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corresponder ao padrão regex {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Item em estoque com este número de série já existe" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "Uma parte com este Nome, IPN e Revisão já existe." -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Category" msgstr "Categoria" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "Estoque total disponível no momento do balanço" msgid "Date" msgstr "Data" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "Reportar" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requerido" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "Parâmetros da caixa de seleção não podem ter unidades" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "Unidades físicas para este parâmetro" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "Caixa de seleção" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "Escolhas" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "Dados" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "Nível" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Item LDM" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validado" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "Nenhuma parte selecionada" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "Selecionar categoria" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" @@ -6375,190 +6378,190 @@ msgstr "Número de Peça do Fabricante" msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "Excluir Estoque externo" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "Excluir itens de estoque em locais externos" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "Quantidade Total" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "Custo Min Total" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "Custo Max Total" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "Balanço de Estoque Disponível" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "Um novo relatório de balanço do estoque está disponível para baixar" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "Validar LDM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "Adicionar Item LDM" @@ -6958,7 +6961,7 @@ msgstr "Alocado para Pedidos de Construção" msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "Pode Produzir" @@ -7216,11 +7219,11 @@ msgstr "Criar variante de peça" msgid "Create a new variant part from this template" msgstr "Criar uma peça variante a partir deste modelo" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Banco de dados desconhecido" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7258,19 +7261,20 @@ msgstr "Nenhuma ação especificada" msgid "No matching action found" msgstr "Nenhuma ação correspondente encontrada" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "Faltando dados do código de barras" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Nenhum resultado encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" @@ -7279,6 +7283,52 @@ msgstr "Código de barras corresponde ao item existente" msgid "No match found for provided value" msgstr "Nenhuma correspondência encontrada para o valor fornecido" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "Impressão de etiqueta falhou" @@ -7295,6 +7345,8 @@ msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "Contribuidores do InvenTree" @@ -7332,7 +7384,7 @@ msgstr "Link do gancho de entrada do Slack" msgid "URL that is used to send messages to a slack channel" msgstr "URL usada para enviar mensagens para um canal do Slack" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "Abrir link" @@ -7360,20 +7412,68 @@ msgstr "Modo de depuração" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "Ativar o modo de depuração - retorna HTML bruto em vez de PDF" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "Nome da Extensão" msgid "Is the plugin active" msgstr "O plug-in está ativo" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "Instalado" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "Plug-in de exemplo" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "Plugin embutido" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "Extensões" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "Método" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "Nenhum autor encontrado" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Extensão requer pelo menos a versão {v}" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Extensão requer no máximo a versão {v}" @@ -7514,31 +7614,35 @@ msgstr "Instalação não confirmada" msgid "Either packagename of URL must be provided" msgstr "Qualquer nome do pacote URL deve ser fornecido" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "Ativar Extensão" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "Ativar esta extensão" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Nenhum objeto válido fornecido para o modelo" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Arquivo modelo '{template}' perdido ou não existe" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "Relatório de teste" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Arquivo modelo de relatório" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Descrição do modelo de relatório" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Relatar número de revisão (auto-incrementos)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "Padrão para gerar nomes de arquivo de relatórios" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Modelo de relatório Habilitado" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta de itens de estoque(lista de valores separados por vírgula)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "Incluir testes instalados" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "Incluir resultados de testes para itens de estoque instalados dentro de item montado" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "Filtros de Produção" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de produção (lista de valores separados por vírgula" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "Filtros de Peças" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de peças (lista de valores separados por vírgula" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "Filtros de consultas de pedidos de compra" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "Filtros de consultas de pedidos de venda" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "Filtrar pesquisa de itens devolvidos" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "Recorte" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "Patrimônio" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "filtros de consulta de locais de estoque(lista de valores separados por vírgula)" @@ -7688,7 +7792,7 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Teste" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "Resultado" @@ -7787,7 +7891,7 @@ msgstr "Nome do Fornecedor" msgid "Customer ID" msgstr "ID Cliente" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "Instalado em" @@ -7812,33 +7916,33 @@ msgstr "Revisão Necessária" msgid "Delete on Deplete" msgstr "Excluir quando esgotado" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "Data de validade" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Localização do estoque" msgid "Stock Locations" msgstr "Locais de estoque" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "Responsavel" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Selecionar Responsável" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "Item de estoque não pode ser criado para peças virtuais" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Tipo da peça ('{pf}') deve ser {pe}" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "A quantidade deve ser 1 para um item com número de série" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Número de série não pode ser definido se quantidade maior que 1" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "O item não pode pertencer a si mesmo" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "Item deve ter uma referência de produção se is_building=True" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "Referência de produção não aponta ao mesmo objeto da peça" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Item de Estoque Parental" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Peça base" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "Este item está instalado em outro item?" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Número de série para este item" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Quantidade de Estoque" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Produção de Origem" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "Produção para este item de estoque" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "Consumido por" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "Pedido de produção que consumiu este item de estoque" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "Pedido de compra Fonte" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "Pedido de Compra para este item de estoque" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "Destino do Pedido de Venda" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Excluir quando esgotado" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Excluir este item de estoque quando o estoque for esgotado" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "Preço de compra unitário único no momento da compra" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "Convertido para peça" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "Peça não está definida como rastreável" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "Quantidade deve ser inteira" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({n})" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "Números de série devem ser uma lista de números inteiros" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "Item em estoque foi reservado para um pedido" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "Item em estoque está instalado em outro item" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "item em estoque contem outro(s) items" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "Item em estoque foi reservado para outro cliente" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "Item no estoque está em produção no momento" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "Itens de estoque devem se referir à mesma peça" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "Nome de teste" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "Notas do teste" @@ -8127,141 +8231,141 @@ msgstr "Número de série é muito grande" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "Preço de compra para este item de estoque, por unidade ou pacote" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Insira o número de itens de estoque para serializar" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Inserir número de série para novos itens" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "Local de destino do estoque" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "Campo opcional de notas" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "Números de série não podem ser atribuídos a esta peça" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "Selecione o item de estoque para instalar" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "Adicionar nota de transação (opcional)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "Item de estoque indisponível" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "Peça selecionada não está na Lista de Materiais" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "Selecione peça para converter o item de estoque em" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "Peça selecionada não é uma opção válida para conversão" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "Local de destino para item retornado" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "Selecionar itens de estoque para mudar estados" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "Nodas atribuídas a estoque" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "Uma lista de item de estoque deve ser providenciada" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "Notas de fusão de estoque" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a fusão de itens de estoque com estado diferentes" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "Ao menos dois itens de estoque devem ser providenciados" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "Valor da chave primária do Item Estoque" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "Código de estado do item estoque" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "As peças a seguir estão abaixo do estoque requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "Quantidade Requerida" @@ -10178,74 +10282,74 @@ msgstr "Estoque de variantes permitido" msgid "Substitutes" msgstr "Substitutos" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "Preços da LDM estão completos" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "Preços da LDM estão incompletos" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "Nenhum preço disponível" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "Nenhum Estoque Disponível" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "Incluir variante e substituição de estoque" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "Incluir variantes de estoque" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "Incluir estoque substituto" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "Item Consumível" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "Validar Item LDM" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "Esta linha foi validada" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "Editar peças substitutas" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Editar Item LDM" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Apagar Item LDM" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "Ver LDM" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "Nenhum item LDM encontrado" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "Peça Requerida" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Herdado da LDM paternal" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index c78861e723..83d44b6e02 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: 2023-09-29 21:02+0000\n" +"POT-Creation-Date: 2023-10-18 03:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,71 +18,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:93 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:115 -msgid "Provided value is not a valid number" -msgstr "" - -#: InvenTree/conversion.py:117 -msgid "Provided value has an invalid unit" -msgstr "" - -#: InvenTree/conversion.py:122 -msgid "Provided value could not be converted to the specified unit" +#: InvenTree/conversion.py:125 +#, python-brace-format +msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:127 -msgid "Error" +msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2191 stock/models.py:2299 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:999 stock/serializers.py:1098 -#: stock/serializers.py:1259 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1061 -#: templates/js/translated/purchase_order.js:2175 -#: templates/js/translated/return_order.js:769 +#: templates/js/translated/part.js:1077 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/sales_order.js:1979 -#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" msgstr "" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -106,99 +104,99 @@ msgstr "" msgid "Old password" msgstr "" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -214,248 +212,252 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2293 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:494 common/models.py:2770 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:1309 +#: stock/admin.py:138 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2430 -#: templates/js/translated/purchase_order.js:2015 -#: templates/js/translated/purchase_order.js:2179 -#: templates/js/translated/return_order.js:773 +#: templates/js/translated/part.js:2451 +#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:2183 +#: templates/js/translated/return_order.js:777 #: templates/js/translated/sales_order.js:1053 #: templates/js/translated/sales_order.js:1984 msgid "Link" msgstr "" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:735 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2229 -#: common/models.py:2230 common/models.py:2443 common/models.py:2444 -#: common/models.py:2700 common/models.py:2701 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:224 plugin/models.py:225 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3007 msgid "User" msgstr "" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2429 -#: common/models.py:2877 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:164 templates/InvenTree/settings/mixins/urls.html:13 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:426 #: templates/js/translated/company.js:666 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:903 #: templates/js/translated/company.js:1155 -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1167 -#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1591 -#: templates/js/translated/part.js:2723 templates/js/translated/stock.js:2649 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1183 +#: templates/js/translated/part.js:1471 templates/js/translated/part.js:1607 +#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2687 msgid "Name" msgstr "" -#: InvenTree/models.py:672 build/models.py:168 +#: InvenTree/models.py:656 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:125 -#: company/models.py:451 company/models.py:730 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:177 -#: report/models.py:580 report/models.py:624 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:124 +#: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:151 +#: templates/InvenTree/settings/settings_staff_js.html:431 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2109 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2121 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1219 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:1602 -#: templates/js/translated/part.js:1937 templates/js/translated/part.js:2329 -#: templates/js/translated/part.js:2759 templates/js/translated/part.js:2847 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1824 -#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1953 templates/js/translated/part.js:2350 +#: templates/js/translated/part.js:2780 templates/js/translated/part.js:2868 +#: templates/js/translated/plugin.js:79 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2001 #: templates/js/translated/return_order.js:311 #: templates/js/translated/sales_order.js:799 #: templates/js/translated/sales_order.js:1809 -#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2681 templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" msgstr "" -#: InvenTree/models.py:673 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2690 +#: InvenTree/models.py:672 InvenTree/models.py:673 +#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" @@ -509,136 +511,136 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:713 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:714 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:728 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:756 +#: InvenTree/settings.py:814 msgid "Czech" msgstr "" -#: InvenTree/settings.py:757 +#: InvenTree/settings.py:815 msgid "Danish" msgstr "" -#: InvenTree/settings.py:758 +#: InvenTree/settings.py:816 msgid "German" msgstr "" -#: InvenTree/settings.py:759 +#: InvenTree/settings.py:817 msgid "Greek" msgstr "" -#: InvenTree/settings.py:760 +#: InvenTree/settings.py:818 msgid "English" msgstr "" -#: InvenTree/settings.py:761 +#: InvenTree/settings.py:819 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:762 +#: InvenTree/settings.py:820 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:763 +#: InvenTree/settings.py:821 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:764 +#: InvenTree/settings.py:822 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:765 +#: InvenTree/settings.py:823 msgid "French" msgstr "" -#: InvenTree/settings.py:766 +#: InvenTree/settings.py:824 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:767 +#: InvenTree/settings.py:825 msgid "Hindi" msgstr "" -#: InvenTree/settings.py:768 +#: InvenTree/settings.py:826 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:769 +#: InvenTree/settings.py:827 msgid "Italian" msgstr "" -#: InvenTree/settings.py:770 +#: InvenTree/settings.py:828 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:771 +#: InvenTree/settings.py:829 msgid "Korean" msgstr "" -#: InvenTree/settings.py:772 +#: InvenTree/settings.py:830 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:773 +#: InvenTree/settings.py:831 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:774 +#: InvenTree/settings.py:832 msgid "Polish" msgstr "" -#: InvenTree/settings.py:775 +#: InvenTree/settings.py:833 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:776 +#: InvenTree/settings.py:834 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:777 +#: InvenTree/settings.py:835 msgid "Russian" msgstr "" -#: InvenTree/settings.py:778 +#: InvenTree/settings.py:836 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:779 +#: InvenTree/settings.py:837 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:780 +#: InvenTree/settings.py:838 msgid "Thai" msgstr "" -#: InvenTree/settings.py:781 +#: InvenTree/settings.py:839 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:782 +#: InvenTree/settings.py:840 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:783 +#: InvenTree/settings.py:841 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/settings.py:784 +#: InvenTree/settings.py:842 msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1000 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -653,7 +655,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:558 +#: templates/js/translated/table_filters.js:594 msgid "Pending" msgstr "" @@ -687,7 +689,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -722,7 +724,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" @@ -778,7 +780,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" msgstr "" @@ -798,7 +800,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" msgstr "" @@ -814,7 +816,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:351 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" @@ -846,93 +848,93 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2493 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 -#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2502 +#: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 -#: templates/js/translated/table_filters.js:547 +#: templates/js/translated/table_filters.js:583 msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:384 -#: templates/js/translated/table_filters.js:539 +#: build/api.py:283 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1717 -#: templates/js/translated/build.js:2593 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 +#: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 -#: templates/js/translated/table_filters.js:531 +#: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2534 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:223 -#: templates/js/translated/part.js:673 templates/js/translated/part.js:675 -#: templates/js/translated/part.js:680 -#: templates/js/translated/table_filters.js:316 -#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/part.js:689 templates/js/translated/part.js:691 +#: templates/js/translated/part.js:696 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:571 msgid "Available" msgstr "" @@ -941,7 +943,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2814 +#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" msgstr "" @@ -964,18 +966,18 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2485 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2497 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2040 -#: templates/js/translated/return_order.js:722 +#: templates/js/translated/purchase_order.js:2044 +#: templates/js/translated/return_order.js:726 #: templates/js/translated/sales_order.js:1815 msgid "Reference" msgstr "" @@ -994,13 +996,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:958 part/serializers.py:1373 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1011,7 +1013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1019,28 +1021,28 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1716 -#: templates/js/translated/build.js:2132 templates/js/translated/build.js:2305 +#: templates/js/translated/build.js:1293 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2144 templates/js/translated/build.js:2317 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1922 templates/js/translated/part.js:1994 -#: templates/js/translated/part.js:2298 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1938 templates/js/translated/part.js:2010 +#: templates/js/translated/part.js:2319 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1823 -#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:1986 #: templates/js/translated/return_order.js:536 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/return_order.js:707 #: templates/js/translated/sales_order.js:297 #: templates/js/translated/sales_order.js:1194 #: templates/js/translated/sales_order.js:1595 #: templates/js/translated/sales_order.js:1793 -#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 -#: templates/js/translated/stock.js:2779 templates/js/translated/stock.js:3012 -#: templates/js/translated/stock.js:3149 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 +#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3202 msgid "Part" msgstr "" @@ -1056,8 +1058,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1704 +#: build/models.py:207 build/serializers.py:942 +#: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1098,17 +1100,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:739 stock/serializers.py:1223 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1123,8 +1125,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2217 +#: build/models.py:265 order/models.py:413 order/models.py:1765 +#: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1132,7 +1134,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2177 +#: build/models.py:279 templates/js/translated/build.js:2189 msgid "Issued by" msgstr "" @@ -1141,16 +1143,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2189 -#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/purchase_order.js:1742 #: templates/js/translated/return_order.js:356 -#: templates/js/translated/table_filters.js:491 +#: templates/js/translated/table_filters.js:527 msgid "Responsible" msgstr "" @@ -1164,7 +1166,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:733 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1179,9 +1181,9 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:309 common/models.py:118 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2114 -#: templates/js/translated/purchase_order.js:1685 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2126 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 #: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:48 @@ -1193,48 +1195,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1215 part/serializers.py:1536 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2251 -#: order/models.py:1086 order/models.py:1658 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1244,380 +1246,376 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1342 -#: templates/js/translated/build.js:1719 templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:726 templates/js/translated/build.js:1350 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2339 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:225 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:942 -#: templates/js/translated/part.js:1792 templates/js/translated/part.js:3284 +#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:958 +#: templates/js/translated/part.js:1808 templates/js/translated/part.js:3305 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2046 +#: templates/js/translated/purchase_order.js:1831 +#: templates/js/translated/purchase_order.js:2050 #: templates/js/translated/sales_order.js:314 #: templates/js/translated/sales_order.js:1196 #: templates/js/translated/sales_order.js:1515 #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1695 #: templates/js/translated/sales_order.js:1821 -#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2943 -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 +#: templates/js/translated/stock.js:3073 msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1614 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1617 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:930 -#: stock/serializers.py:1056 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1718 +#: templates/js/translated/build.js:1726 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1195 #: templates/js/translated/sales_order.js:1496 #: templates/js/translated/sales_order.js:1501 #: templates/js/translated/sales_order.js:1602 #: templates/js/translated/sales_order.js:1689 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2948 msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1295 +#: build/serializers.py:155 build/serializers.py:824 +#: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 -#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:736 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:970 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1091 stock/serializers.py:1362 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2342 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 +#: templates/js/translated/build.js:2354 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1508 #: templates/js/translated/sales_order.js:1616 #: templates/js/translated/sales_order.js:1624 #: templates/js/translated/sales_order.js:1703 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2133 -#: templates/js/translated/stock.js:2793 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2842 msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 -#: stock/serializers.py:703 stock/serializers.py:1230 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2161 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 -#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/purchase_order.js:1701 #: templates/js/translated/return_order.js:328 #: templates/js/translated/sales_order.js:816 -#: templates/js/translated/stock.js:2108 templates/js/translated/stock.js:2917 -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 +#: templates/js/translated/stock.js:3089 msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:943 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1734,16 +1732,16 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2209 templates/js/translated/part.js:1810 -#: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/build.js:2221 templates/js/translated/part.js:1826 +#: templates/js/translated/purchase_order.js:1718 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/return_order.js:344 -#: templates/js/translated/return_order.js:744 +#: templates/js/translated/return_order.js:748 #: templates/js/translated/sales_order.js:832 #: templates/js/translated/sales_order.js:1864 msgid "Target Date" @@ -1760,9 +1758,9 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:484 -#: templates/js/translated/table_filters.js:586 -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:663 msgid "Overdue" msgstr "" @@ -1772,8 +1770,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1783,7 +1781,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:766 #: templates/js/translated/sales_order.js:989 -#: templates/js/translated/stock.js:2846 +#: templates/js/translated/stock.js:2895 msgid "Sales Order" msgstr "" @@ -1795,7 +1793,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2126 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2138 msgid "Priority" msgstr "" @@ -1823,8 +1821,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2164 +#: build/templates/build/detail.html:49 order/models.py:1220 +#: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -1836,15 +1834,15 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:105 +#: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1353 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/build.js:1361 +#: templates/js/translated/model_renderers.js:233 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2122 -#: templates/js/translated/stock.js:3047 -#: templates/js/translated/table_filters.js:289 -#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:3096 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 msgid "Batch" msgstr "" @@ -1852,7 +1850,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2169 +#: templates/js/translated/build.js:2181 msgid "Created" msgstr "" @@ -1862,7 +1860,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:685 msgid "Completed" msgstr "" @@ -2009,11 +2007,11 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:70 +#: common/models.py:71 msgid "Updated" msgstr "" -#: common/models.py:71 +#: common/models.py:72 msgid "Timestamp of last update" msgstr "" @@ -2025,1438 +2023,1467 @@ msgstr "" msgid "Project description" msgstr "" -#: common/models.py:595 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:597 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:638 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:655 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:666 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:705 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:912 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:937 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:939 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:996 +#: common/models.py:994 +msgid "No plugin" +msgstr "" + +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:997 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1004 +#: common/models.py:1068 +msgid "Pending migrations" +msgstr "" + +#: common/models.py:1069 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1006 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1011 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1012 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1018 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1019 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1025 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1026 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1031 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1032 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1039 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1040 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1047 -msgid "Download from URL" -msgstr "" - -#: common/models.py:1048 -msgid "Allow download of remote images and files from external URL" -msgstr "" - -#: common/models.py:1054 -msgid "Download Size Limit" -msgstr "" - -#: common/models.py:1055 -msgid "Maximum allowable download size for remote image" -msgstr "" - -#: common/models.py:1066 -msgid "User-agent used to download from URL" -msgstr "" - -#: common/models.py:1067 -msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" - -#: common/models.py:1072 -msgid "Require confirm" -msgstr "" - -#: common/models.py:1073 -msgid "Require explicit user confirmation for certain action." -msgstr "" - -#: common/models.py:1079 -msgid "Tree Depth" -msgstr "" - -#: common/models.py:1080 -msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" - -#: common/models.py:1089 -msgid "Update Check Interval" -msgstr "" - -#: common/models.py:1090 -msgid "How often to check for updates (set to zero to disable)" -msgstr "" - -#: common/models.py:1096 common/models.py:1114 common/models.py:1121 -#: common/models.py:1132 common/models.py:1143 common/models.py:1374 -#: common/models.py:1398 common/models.py:1521 common/models.py:1777 -msgid "days" -msgstr "" - -#: common/models.py:1100 -msgid "Automatic Backup" -msgstr "" - -#: common/models.py:1101 -msgid "Enable automatic backup of database and media files" -msgstr "" - -#: common/models.py:1107 -msgid "Auto Backup Interval" -msgstr "" - -#: common/models.py:1108 -msgid "Specify number of days between automated backup events" -msgstr "" - #: common/models.py:1118 -msgid "Task Deletion Interval" +msgid "Currency Update Interval" msgstr "" #: common/models.py:1119 -msgid "Background task results will be deleted after specified number of days" +msgid "How often to update exchange rates (set to zero to disable)" +msgstr "" + +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 +msgid "days" msgstr "" #: common/models.py:1129 -msgid "Error Log Deletion Interval" +msgid "Currency Update Plugin" msgstr "" #: common/models.py:1130 -msgid "Error logs will be deleted after specified number of days" +msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1140 -msgid "Notification Deletion Interval" +#: common/models.py:1136 +msgid "Download from URL" msgstr "" -#: common/models.py:1141 -msgid "User notifications will be deleted after specified number of days" +#: common/models.py:1137 +msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1151 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" +#: common/models.py:1143 +msgid "Download Size Limit" msgstr "" -#: common/models.py:1152 -msgid "Enable barcode scanner support" +#: common/models.py:1144 +msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1158 -msgid "Barcode Input Delay" +#: common/models.py:1155 +msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1159 -msgid "Barcode input processing delay time" +#: common/models.py:1156 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1161 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1162 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1168 +msgid "Tree Depth" msgstr "" #: common/models.py:1169 -msgid "Barcode Webcam Support" +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1170 -msgid "Allow barcode scanning via webcam in browser" +#: common/models.py:1178 +msgid "Update Check Interval" msgstr "" -#: common/models.py:1176 -msgid "Part Revisions" -msgstr "" - -#: common/models.py:1177 -msgid "Enable revision field for Part" -msgstr "" - -#: common/models.py:1183 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1184 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1188 -msgid "Allow Duplicate IPN" +#: common/models.py:1179 +msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1189 -msgid "Allow multiple parts to share the same IPN" +msgid "Automatic Backup" msgstr "" -#: common/models.py:1195 -msgid "Allow Editing IPN" +#: common/models.py:1190 +msgid "Enable automatic backup of database and media files" msgstr "" #: common/models.py:1196 -msgid "Allow changing the IPN value while editing a part" +msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1202 -msgid "Copy Part BOM Data" +#: common/models.py:1197 +msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1203 -msgid "Copy BOM data by default when duplicating a part" +#: common/models.py:1207 +msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1209 -msgid "Copy Part Parameter Data" +#: common/models.py:1208 +msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1210 -msgid "Copy parameter data by default when duplicating a part" +#: common/models.py:1218 +msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1216 -msgid "Copy Part Test Data" +#: common/models.py:1219 +msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1217 -msgid "Copy test data by default when duplicating a part" +#: common/models.py:1229 +msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1223 -msgid "Copy Category Parameter Templates" +#: common/models.py:1230 +msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1224 -msgid "Copy category parameter templates when creating a part" +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" msgstr "" -#: common/models.py:1230 part/admin.py:55 part/models.py:3621 -#: report/models.py:170 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:727 -msgid "Template" +#: common/models.py:1241 +msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1231 -msgid "Parts are templates by default" +#: common/models.py:1247 +msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1237 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 -#: templates/js/translated/table_filters.js:306 -#: templates/js/translated/table_filters.js:681 -msgid "Assembly" +#: common/models.py:1248 +msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1238 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1244 part/admin.py:52 part/models.py:1007 -#: templates/js/translated/table_filters.js:689 -msgid "Component" -msgstr "" - -#: common/models.py:1245 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1251 part/admin.py:53 part/models.py:1018 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1252 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1258 part/admin.py:54 part/models.py:1023 -#: templates/js/translated/table_filters.js:715 -msgid "Salable" +#: common/models.py:1258 +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:1259 -msgid "Parts are salable by default" +msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1265 part/admin.py:56 part/models.py:1013 -#: templates/js/translated/table_filters.js:147 -#: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:731 -msgid "Trackable" +#: common/models.py:1265 +msgid "Part Revisions" msgstr "" #: common/models.py:1266 -msgid "Parts are trackable by default" +msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1272 part/admin.py:57 part/models.py:1033 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:735 -msgid "Virtual" +#: common/models.py:1272 +msgid "IPN Regex" msgstr "" #: common/models.py:1273 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1277 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1278 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1284 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1285 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1291 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1292 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1298 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1299 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1305 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1306 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1312 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1313 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:763 +msgid "Template" +msgstr "" + +#: common/models.py:1320 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:717 +msgid "Assembly" +msgstr "" + +#: common/models.py:1327 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1333 part/admin.py:52 part/models.py:999 +#: templates/js/translated/table_filters.js:725 +msgid "Component" +msgstr "" + +#: common/models.py:1334 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1341 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 +#: templates/js/translated/table_filters.js:751 +msgid "Salable" +msgstr "" + +#: common/models.py:1348 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 +#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:767 +msgid "Trackable" +msgstr "" + +#: common/models.py:1355 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:771 +msgid "Virtual" +msgstr "" + +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1279 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1280 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1286 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1293 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1294 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1300 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1301 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1307 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1308 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1315 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1316 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1321 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1322 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1328 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1329 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1339 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1340 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1350 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1351 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1357 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1358 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1364 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1365 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1371 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1372 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1382 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1383 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1389 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1390 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1396 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1397 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1407 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1408 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1414 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1415 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1421 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1422 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1428 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1429 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1438 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1439 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1445 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1446 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1452 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1453 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1463 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1464 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1470 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1471 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1477 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1478 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1484 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1485 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1491 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1492 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1498 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1499 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1504 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1505 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1511 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1512 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1518 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1519 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1526 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1527 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1533 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1534 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1540 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1541 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1546 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1547 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1553 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1554 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1560 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1561 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1567 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1568 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1574 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1575 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1581 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1582 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1588 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1589 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1595 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1596 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1602 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1603 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1609 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1610 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1617 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1618 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1624 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1625 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1631 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1632 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1638 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1639 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1645 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1646 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1652 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1653 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1659 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1660 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1666 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1667 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1673 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1674 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1681 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1687 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1688 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1694 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1695 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1703 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1704 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1711 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1712 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1719 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1720 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1727 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1728 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1735 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1736 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1743 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1744 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1750 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1751 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1757 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1758 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1764 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1765 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1774 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1775 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1792 common/models.py:2222 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1833 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1840 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1841 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1847 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1848 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1854 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1855 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1861 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1862 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1868 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1869 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1875 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1876 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1882 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1883 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1889 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1890 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1896 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1897 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1903 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:1904 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1910 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:1911 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1917 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:1918 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1924 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1925 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1931 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:1932 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1938 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1939 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1945 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1946 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1952 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1953 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1959 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:1960 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1966 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:1967 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1973 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:1974 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1980 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:1981 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1987 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:1988 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1994 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1995 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2001 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2002 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2008 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2009 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2015 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2016 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2022 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2023 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2029 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2030 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2036 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2037 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2043 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2044 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2050 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2051 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2057 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2058 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2064 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2065 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2071 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2072 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2078 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2079 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2085 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2086 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2092 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2093 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2099 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2100 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2106 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2107 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2113 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2114 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2120 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2121 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2127 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2128 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2134 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2135 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2141 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2142 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2156 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2157 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2163 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2164 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2170 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2171 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2180 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2181 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2189 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2190 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2198 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2199 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2207 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2208 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2252 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2259 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1952 -#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1864 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 +#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:734 +#: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2260 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2420 common/models.py:2598 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2421 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2430 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2435 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:464 -#: templates/js/translated/table_filters.js:480 -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:712 msgid "Active" msgstr "" -#: common/models.py:2436 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2450 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2451 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2458 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2459 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2565 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2566 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2574 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2575 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2582 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2583 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2589 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2590 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2599 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2604 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2605 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2759 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2765 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2775 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2780 templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2785 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2790 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2791 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2811 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3466,56 +3493,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2812 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2856 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2878 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2884 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2885 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2891 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2892 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3546,7 +3573,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3588,7 +3615,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3630,301 +3657,301 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:675 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:438 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:756 +#: templates/js/translated/table_filters.js:792 msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:444 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1781 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1797 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2032 msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2286 templates/js/translated/company.js:1156 -#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1473 -#: templates/js/translated/stock.js:1464 +#: stock/models.py:2348 templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 +#: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1492 -#: templates/js/translated/part.js:1596 templates/js/translated/part.js:2344 +#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 +#: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:427 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 -#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1749 +#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1765 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1668 -#: templates/js/translated/table_filters.js:760 +#: templates/js/translated/purchase_order.js:1672 +#: templates/js/translated/table_filters.js:796 msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:433 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1767 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1825 -#: templates/js/translated/purchase_order.js:2003 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2007 msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:433 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:119 stock/models.py:701 stock/serializers.py:1238 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2356 +#: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 +#: company/models.py:741 templates/js/translated/company.js:1641 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2059 -#: templates/js/translated/purchase_order.js:2076 +#: templates/js/translated/purchase_order.js:2063 +#: templates/js/translated/purchase_order.js:2080 msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -3986,17 +4013,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1751 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:985 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:293 #: templates/js/translated/sales_order.js:781 -#: templates/js/translated/stock.js:2881 -#: templates/js/translated/table_filters.js:764 +#: templates/js/translated/stock.js:2930 +#: templates/js/translated/table_filters.js:800 msgid "Customer" msgstr "" @@ -4004,7 +4031,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4168,7 +4195,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4199,7 +4226,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4220,7 +4247,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1403 +#: templates/js/translated/part.js:1419 msgid "Add Parameter" msgstr "" @@ -4249,11 +4276,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:684 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2212 +#: templates/js/translated/stock.js:2250 msgid "Supplier Part" msgstr "" @@ -4309,7 +4336,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 -#: templates/js/translated/stock.js:503 +#: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4339,15 +4366,15 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:48 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1041 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2699 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1057 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4356,28 +4383,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4397,7 +4424,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:277 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4421,7 +4448,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:270 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4435,8 +4462,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:298 report/models.py:445 -#: report/models.py:483 report/models.py:521 report/models.py:645 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4453,573 +4480,573 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/purchase_order.js:2104 #: templates/js/translated/sales_order.js:1844 msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1726 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1742 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 -#: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2192 templates/js/translated/stock.js:2829 +#: templates/js/translated/purchase_order.js:1656 +#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1922 order/models.py:1968 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:278 -#: templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2912 msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1677 +#: order/models.py:395 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1774 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1775 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1781 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1768 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1769 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1849 templates/js/translated/part.js:1880 +#: order/models.py:1201 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2144 -#: templates/js/translated/return_order.js:757 +#: templates/js/translated/purchase_order.js:2148 +#: templates/js/translated/return_order.js:761 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:562 +#: templates/js/translated/table_filters.js:598 msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:823 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2243 +#: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1640 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:433 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1605 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1607 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1610 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1620 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1623 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1624 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1632 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1641 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:715 +#: order/models.py:1640 order/models.py:1910 +#: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1655 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1658 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1738 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1752 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1763 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1914 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1930 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1935 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1936 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:726 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1947 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1953 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5187,12 +5214,12 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1602 +#: templates/js/translated/build.js:1610 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:503 #: templates/js/translated/sales_order.js:1106 -#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5315,8 +5342,8 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/part.js:1069 +#: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/return_order.js:378 #: templates/js/translated/sales_order.js:852 msgid "Total Cost" @@ -5376,7 +5403,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5406,47 +5433,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 -#: stock/admin.py:101 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 +#: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 -#: stock/admin.py:102 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 +#: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1207 templates/js/translated/part.js:2315 -#: templates/js/translated/stock.js:1968 +#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 +#: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:183 templates/js/translated/part.js:1212 -#: templates/js/translated/part.js:2321 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 +#: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5454,23 +5481,23 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1679 -#: templates/js/translated/table_filters.js:331 +#: templates/js/translated/table_filters.js:355 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2585 -#: templates/js/translated/part.js:690 templates/js/translated/part.js:2127 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 +#: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" @@ -5479,107 +5506,107 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:695 templates/js/translated/part.js:2131 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:142 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:2147 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:950 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:960 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:336 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2778 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2799 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5588,7 +5615,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5603,9 +5630,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2705 +#: part/models.py:134 stock/models.py:187 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" @@ -5621,11 +5648,12 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:145 stock/models.py:113 +#: part/models.py:145 stock/models.py:85 stock/models.py:175 +#: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" msgstr "" -#: part/models.py:146 stock/models.py:114 +#: part/models.py:146 stock/models.py:176 msgid "Icon (optional)" msgstr "" @@ -5633,719 +5661,719 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:349 part/serializers.py:964 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2351 +#: templates/js/translated/part.js:2372 msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 -#: templates/js/translated/part.js:2445 +#: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 -#: templates/InvenTree/settings/settings_staff_js.html:436 -#: templates/js/translated/part.js:1066 templates/js/translated/pricing.js:826 +#: templates/InvenTree/settings/settings_staff_js.html:520 +#: templates/js/translated/part.js:1082 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2743 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/stock.js:2792 msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:425 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:432 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2842 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2851 -#: templates/js/translated/table_filters.js:453 +#: part/models.py:3311 templates/js/translated/part.js:2872 +#: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2859 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2866 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1608 -#: templates/js/translated/table_filters.js:781 +#: part/models.py:3445 templates/js/translated/part.js:1624 +#: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1617 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:577 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:350 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:391 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:452 msgid "Selected company is not a valid supplier" msgstr "" @@ -6353,186 +6381,186 @@ msgstr "" msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:732 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:452 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:732 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:737 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:737 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:748 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:981 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:996 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1382 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1515 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1518 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1538 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1559 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1047 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 -#: templates/js/translated/purchase_order.js:2059 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 +#: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:295 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:296 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6672,9 +6700,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2148 users/models.py:39 +#: templates/js/translated/stock.js:2186 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6748,7 +6776,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6772,15 +6800,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:654 +#: part/templates/part/detail.html:659 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:662 +#: part/templates/part/detail.html:667 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:747 +#: part/templates/part/detail.html:752 msgid "Add Test Result Template" msgstr "" @@ -6861,7 +6889,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2267 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2288 msgid "Part actions" msgstr "" @@ -6908,8 +6936,8 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:291 -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1199 +#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1215 msgid "Inactive" msgstr "" @@ -6932,7 +6960,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -6941,7 +6969,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1245 templates/js/translated/part.js:2418 +#: templates/js/translated/part.js:1261 templates/js/translated/part.js:2439 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -6964,7 +6992,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2261 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2282 msgid "part" msgstr "" @@ -7038,9 +7066,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2124 -#: templates/js/translated/part.js:2366 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:2002 templates/navbar.html:31 +#: templates/js/translated/part.js:1239 templates/js/translated/part.js:2140 +#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7069,11 +7097,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:129 +#: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2178 +#: templates/js/translated/stock.js:2216 msgid "Last Updated" msgstr "" @@ -7136,8 +7164,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:685 -#: templates/js/translated/part.js:2119 templates/js/translated/part.js:2121 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:701 +#: templates/js/translated/part.js:2135 templates/js/translated/part.js:2137 msgid "No Stock" msgstr "" @@ -7190,11 +7218,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7232,7 +7260,7 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:109 msgid "Missing barcode data" msgstr "" @@ -7244,12 +7272,12 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1387 +#: plugin/base/barcodes/api.py:119 +#: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:215 msgid "No match found for provided value" msgstr "" @@ -7267,6 +7295,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 msgid "InvenTree contributors" msgstr "" @@ -7305,10 +7334,18 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:24 +msgid "Default currency exchange integration" +msgstr "" + #: plugin/builtin/labels/inventree_label.py:20 msgid "InvenTree PDF label printer" msgstr "" @@ -7325,6 +7362,23 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" +#: plugin/installer.py:140 +msgid "Permission denied: only staff users can install plugins" +msgstr "" + +#: plugin/installer.py:186 +msgid "Installed plugin successfully" +msgstr "" + +#: plugin/installer.py:192 +#, python-brace-format +msgid "Installed plugin into {path}" +msgstr "" + +#: plugin/installer.py:201 +msgid "Plugin installation failed" +msgstr "" + #: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" @@ -7349,37 +7403,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:131 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:500 +msgid "Installed" +msgstr "" + +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:166 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:217 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:478 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:480 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:482 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7416,148 +7476,184 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:90 +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +msgid "InvenTree Contributors" +msgstr "" + +#: plugin/serializers.py:87 msgid "Source URL" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:88 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:96 +#: plugin/serializers.py:93 msgid "Package Name" msgstr "" -#: plugin/serializers.py:97 +#: plugin/serializers.py:94 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:97 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:101 +#: plugin/serializers.py:98 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:113 +#: plugin/serializers.py:110 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:115 +#: plugin/serializers.py:112 msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:193 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:194 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/models.py:165 -msgid "Template name" +#: report/helpers.py:13 +msgid "A4" +msgstr "" + +#: report/helpers.py:14 +msgid "A3" +msgstr "" + +#: report/helpers.py:15 +msgid "Legal" +msgstr "" + +#: report/helpers.py:16 +msgid "Letter" msgstr "" #: report/models.py:171 +msgid "Template name" +msgstr "" + +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:178 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:184 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:271 +#: report/models.py:198 +msgid "Page size for PDF reports" +msgstr "" + +#: report/models.py:203 +msgid "Landscape" +msgstr "" + +#: report/models.py:204 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:278 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:299 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:307 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:308 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:369 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:370 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:412 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:446 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:484 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:522 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:575 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:576 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:580 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:617 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:618 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:625 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:646 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7578,7 +7674,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/purchase_order.js:2094 #: templates/js/translated/sales_order.js:1834 msgid "Unit Price" msgstr "" @@ -7591,23 +7687,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1996 #: templates/js/translated/sales_order.js:1803 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1340 -#: templates/js/translated/build.js:2325 -#: templates/js/translated/model_renderers.js:219 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 +#: templates/js/translated/build.js:2337 +#: templates/js/translated/model_renderers.js:222 #: templates/js/translated/return_order.js:537 -#: templates/js/translated/return_order.js:717 +#: templates/js/translated/return_order.js:721 #: templates/js/translated/sales_order.js:312 #: templates/js/translated/sales_order.js:1608 #: templates/js/translated/sales_order.js:1693 -#: templates/js/translated/stock.js:562 +#: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" @@ -7624,12 +7720,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2274 templates/js/translated/stock.js:1437 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2280 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7655,356 +7751,377 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:3030 +#: stock/admin.py:122 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3079 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:109 +#: stock/admin.py:41 stock/admin.py:127 msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/admin.py:45 stock/templates/stock/location.html:130 #: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:118 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:107 +#: stock/admin.py:125 msgid "Status Code" msgstr "" -#: stock/admin.py:110 +#: stock/admin.py:128 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:111 +#: stock/admin.py:129 msgid "Supplier ID" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:130 msgid "Supplier Name" msgstr "" -#: stock/admin.py:113 +#: stock/admin.py:131 msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:708 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" -#: stock/admin.py:115 +#: stock/admin.py:133 msgid "Build ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:135 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:118 +#: stock/admin.py:136 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 +#: stock/admin.py:143 msgid "Review Needed" msgstr "" -#: stock/admin.py:126 +#: stock/admin.py:144 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:789 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:434 templates/js/translated/table_filters.js:403 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:641 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:648 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:676 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:685 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:708 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:54 stock/models.py:692 +#: stock/models.py:56 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:57 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:178 +#: stock/models.py:117 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:118 stock/models.py:828 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:119 stock/models.py:829 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" -#: stock/models.py:126 +#: stock/models.py:189 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2714 +#: stock/models.py:195 templates/js/translated/stock.js:2752 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:133 +#: stock/models.py:196 msgid "This is an external stock location" msgstr "" -#: stock/models.py:175 +#: stock/models.py:202 templates/js/translated/stock.js:2761 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:205 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:270 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:557 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:600 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:610 stock/models.py:619 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:611 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:633 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:639 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:653 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:667 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:677 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:685 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:695 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:702 stock/serializers.py:1239 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:711 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:727 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:741 stock/serializers.py:1224 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:746 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:753 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:755 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:761 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:763 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:774 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:777 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:783 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:790 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:824 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:852 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1378 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1384 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1390 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1396 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1474 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1480 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1486 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1489 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:1135 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1500 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1508 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1702 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2250 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2256 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2275 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2281 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2294 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2300 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8016,141 +8133,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1092 stock/serializers.py:1363 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:986 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:992 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1000 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1010 stock/serializers.py:1270 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1099 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1104 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1105 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1110 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1111 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1121 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1260 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8191,7 +8308,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3177 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3230 msgid "Install Stock Item" msgstr "" @@ -8199,7 +8316,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 msgid "Add Test Result" msgstr "" @@ -8222,17 +8339,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1792 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1774 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1783 msgid "Remove stock" msgstr "" @@ -8241,12 +8358,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1801 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1817 +#: templates/js/translated/stock.js:1855 msgid "Assign to customer" msgstr "" @@ -8287,7 +8404,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2093 templates/navbar.html:38 +#: templates/js/translated/build.js:2105 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8353,7 +8470,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/build.js:2350 +#: templates/js/translated/build.js:2362 msgid "No location set" msgstr "" @@ -8371,7 +8488,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:438 -#: templates/js/translated/table_filters.js:411 +#: templates/js/translated/table_filters.js:435 msgid "Expired" msgstr "" @@ -8381,7 +8498,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:440 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" @@ -8390,7 +8507,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:508 -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1922 msgid "stock item" msgstr "" @@ -8422,7 +8539,7 @@ msgstr "" msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:659 +#: stock/templates/stock/item_base.html:663 msgid "Return to Stock" msgstr "" @@ -8500,20 +8617,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:279 -#: templates/js/translated/stock.js:2505 +#: stock/templates/stock/location.html:288 +#: templates/js/translated/stock.js:2543 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:307 +#: stock/templates/stock/location.html:316 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:380 +#: stock/templates/stock/location.html:389 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:391 +#: stock/templates/stock/location.html:400 msgid "Link Barcode to Stock Location" msgstr "" @@ -8823,7 +8940,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:41 -#: templates/js/translated/plugin.js:151 +#: templates/js/translated/plugin.js:150 msgid "Install Plugin" msgstr "" @@ -8849,7 +8966,7 @@ msgid "Plugin information" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 -#: templates/js/translated/plugin.js:89 +#: templates/js/translated/plugin.js:85 msgid "Version" msgstr "" @@ -8886,7 +9003,8 @@ msgid "Installation path" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 -#: templates/js/translated/plugin.js:77 +#: templates/js/translated/plugin.js:67 +#: templates/js/translated/table_filters.js:492 msgid "Builtin" msgstr "" @@ -8894,21 +9012,31 @@ msgstr "" msgid "This is a builtin plugin which cannot be disabled" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:106 +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:71 +#: templates/js/translated/table_filters.js:496 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:110 +#: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:114 +#: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:118 +#: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" msgstr "" @@ -8997,9 +9125,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:373 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:256 +#: templates/js/translated/forms.js:508 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:389 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:257 msgid "Delete" msgstr "" @@ -9034,12 +9162,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:288 -#: templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1642 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:289 -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1643 msgid "Delete Template" msgstr "" @@ -9047,18 +9175,44 @@ msgstr "" msgid "Edit Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:329 +#: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:364 +#: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:390 +#: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" msgstr "" +#: templates/InvenTree/settings/settings_staff_js.html:420 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:441 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:460 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:447 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:470 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:480 +#: templates/InvenTree/settings/stock.html:35 +msgid "New Location Type" +msgstr "" + #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -9077,9 +9231,9 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:543 templates/navbar.html:107 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 +#: templates/js/translated/forms.js:2045 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" msgstr "" @@ -9112,6 +9266,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/stock.html:31 +msgid "Stock Location Types" +msgstr "" + #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" msgstr "" @@ -9421,7 +9579,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:728 msgid "Confirm" msgstr "" @@ -9601,18 +9759,26 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:102 +#: templates/base.html:103 msgid "Server Restart Required" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" msgstr "" +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + #: templates/email/build_order_completed.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 @@ -9641,7 +9807,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9655,15 +9821,15 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3161 +#: templates/js/translated/part.js:3182 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1124 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" msgstr "" @@ -9675,27 +9841,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1134 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1139 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1140 +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1144 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1145 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 msgid "The requested resource could not be located on the server" msgstr "" @@ -9707,19 +9873,27 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1149 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1150 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 msgid "Connection timeout while requesting data from server" msgstr "" #: templates/js/translated/api.js:261 -msgid "Unhandled Error Code" +msgid "Error 503: Service Unavailable" msgstr "" #: templates/js/translated/api.js:262 +msgid "The server is currently unavailable" +msgstr "" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 msgid "Error code" msgstr "" @@ -9788,7 +9962,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:252 -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "Invalid server response" msgstr "" @@ -9812,7 +9986,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1155 msgid "Remove stock item" msgstr "" @@ -9883,8 +10057,8 @@ msgid "Row Data" msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 -#: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 -#: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 #: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -10002,7 +10176,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2473 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2485 msgid "Variant stock allowed" msgstr "" @@ -10010,74 +10184,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2567 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2571 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2573 -#: templates/js/translated/part.js:1237 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 +#: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2575 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2558 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2458 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10121,13 +10295,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 -#: templates/js/translated/stock.js:264 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 -#: templates/js/translated/stock.js:266 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 msgid "Latest serial number" msgstr "" @@ -10179,13 +10353,13 @@ msgstr "" msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 -#: templates/js/translated/build.js:818 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:700 +#: templates/js/translated/build.js:826 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 -#: templates/js/translated/build.js:819 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:701 +#: templates/js/translated/build.js:827 msgid "At least one build output must be selected" msgstr "" @@ -10193,264 +10367,265 @@ msgstr "" msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 -#: templates/js/translated/build.js:841 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:725 +#: templates/js/translated/build.js:849 msgid "Output" msgstr "" -#: templates/js/translated/build.js:615 +#: templates/js/translated/build.js:619 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:712 +#: templates/js/translated/build.js:716 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:714 +#: templates/js/translated/build.js:718 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:715 +#: templates/js/translated/build.js:719 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:716 +#: templates/js/translated/build.js:720 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:743 +#: templates/js/translated/build.js:751 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:833 +#: templates/js/translated/build.js:841 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:843 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:844 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:862 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:941 +#: templates/js/translated/build.js:949 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2314 +#: templates/js/translated/build.js:978 templates/js/translated/build.js:2326 msgid "Allocated Quantity" msgstr "" -#: templates/js/translated/build.js:984 +#: templates/js/translated/build.js:992 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1006 +#: templates/js/translated/build.js:1014 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1024 +#: templates/js/translated/build.js:1032 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1042 +#: templates/js/translated/build.js:1050 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1096 +#: templates/js/translated/build.js:1104 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1097 +#: templates/js/translated/build.js:1105 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1109 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1270 +#: templates/js/translated/build.js:1278 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1363 +#: templates/js/translated/build.js:1371 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1377 +#: templates/js/translated/build.js:1385 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1549 +#: templates/js/translated/build.js:1557 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1550 +#: templates/js/translated/build.js:1558 #: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1613 +#: templates/js/translated/build.js:1621 #: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:1698 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1691 +#: templates/js/translated/build.js:1699 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1705 +#: templates/js/translated/build.js:1713 #: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1741 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:1752 #: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1817 +#: templates/js/translated/build.js:1825 #: templates/js/translated/sales_order.js:1359 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1914 +#: templates/js/translated/build.js:1922 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1915 +#: templates/js/translated/build.js:1923 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1917 +#: templates/js/translated/build.js:1925 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1926 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1919 +#: templates/js/translated/build.js:1927 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1946 +#: templates/js/translated/build.js:1958 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2052 +#: templates/js/translated/build.js:2064 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2087 templates/js/translated/build.js:2452 -#: templates/js/translated/part.js:2290 templates/js/translated/part.js:2716 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2643 +#: templates/js/translated/build.js:2099 templates/js/translated/build.js:2464 +#: templates/js/translated/forms.js:2041 templates/js/translated/forms.js:2057 +#: templates/js/translated/part.js:2311 templates/js/translated/part.js:2737 +#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2113 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2147 +#: templates/js/translated/build.js:2159 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/stock.js:2964 +#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2198 +#: templates/js/translated/build.js:2210 msgid "group" msgstr "" -#: templates/js/translated/build.js:2359 +#: templates/js/translated/build.js:2371 #: templates/js/translated/sales_order.js:1643 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2360 +#: templates/js/translated/build.js:2372 #: templates/js/translated/sales_order.js:1644 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2375 +#: templates/js/translated/build.js:2387 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2387 +#: templates/js/translated/build.js:2399 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2440 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2429 +#: templates/js/translated/build.js:2441 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2447 +#: templates/js/translated/build.js:2459 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2477 templates/js/translated/part.js:771 -#: templates/js/translated/part.js:1183 +#: templates/js/translated/build.js:2489 templates/js/translated/part.js:787 +#: templates/js/translated/part.js:1199 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2512 +#: templates/js/translated/build.js:2524 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2573 #: templates/js/translated/sales_order.js:1914 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2563 +#: templates/js/translated/build.js:2575 #: templates/js/translated/sales_order.js:1912 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2610 +#: templates/js/translated/build.js:2622 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2615 +#: templates/js/translated/build.js:2627 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2622 +#: templates/js/translated/build.js:2634 #: templates/js/translated/sales_order.js:2013 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2627 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1836 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2631 +#: templates/js/translated/build.js:2643 #: templates/js/translated/sales_order.js:2007 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2635 +#: templates/js/translated/build.js:2647 msgid "Remove stock allocation" msgstr "" @@ -10597,7 +10772,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1181 -#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2218 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2239 msgid "Order parts" msgstr "" @@ -10614,34 +10789,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1269 -#: templates/js/translated/company.js:1557 templates/js/translated/part.js:779 -#: templates/js/translated/part.js:1191 +#: templates/js/translated/company.js:1557 templates/js/translated/part.js:795 +#: templates/js/translated/part.js:1207 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1273 -#: templates/js/translated/company.js:1561 templates/js/translated/part.js:783 -#: templates/js/translated/part.js:1195 +#: templates/js/translated/company.js:1561 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1445 +#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1461 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1508 +#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1524 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1509 +#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1525 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1414 +#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1430 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1530 +#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1546 msgid "Delete Parameter" msgstr "" @@ -10737,61 +10912,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:369 templates/js/translated/forms.js:384 -#: templates/js/translated/forms.js:398 templates/js/translated/forms.js:412 +#: templates/js/translated/forms.js:371 templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:400 templates/js/translated/forms.js:414 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:373 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:388 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:402 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:414 +#: templates/js/translated/forms.js:416 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:752 +#: templates/js/translated/forms.js:754 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:853 +#: templates/js/translated/forms.js:855 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1401 templates/modals.html:19 +#: templates/js/translated/forms.js:1403 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1855 +#: templates/js/translated/forms.js:1857 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2161 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2285 +#: templates/js/translated/forms.js:2375 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2754 +#: templates/js/translated/forms.js:2844 msgid "Select Columns" msgstr "" @@ -10851,62 +11026,62 @@ msgstr "" msgid "Labels sent to printer" msgstr "" -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:152 -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:151 -#: templates/js/translated/modals.js:745 templates/js/translated/modals.js:1053 +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:156 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:439 +#: templates/js/translated/modals.js:445 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:590 +#: templates/js/translated/modals.js:596 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:682 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:734 +#: templates/js/translated/modals.js:740 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1023 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1129 +#: templates/js/translated/modals.js:1135 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1130 +#: templates/js/translated/modals.js:1136 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1153 +#: templates/js/translated/modals.js:1159 msgid "Error requesting form data" msgstr "" @@ -10916,7 +11091,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1585 +#: templates/js/translated/part.js:1601 msgid "ID" msgstr "" @@ -10965,7 +11140,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1965 +#: templates/js/translated/purchase_order.js:1969 msgid "No line items found" msgstr "" @@ -10997,339 +11172,339 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:305 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:313 templates/js/translated/stock.js:146 +#: templates/js/translated/part.js:329 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:349 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:336 +#: templates/js/translated/part.js:352 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:337 +#: templates/js/translated/part.js:353 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:351 +#: templates/js/translated/part.js:367 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:364 +#: templates/js/translated/part.js:380 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:385 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:394 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:398 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:387 +#: templates/js/translated/part.js:403 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:427 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:413 +#: templates/js/translated/part.js:429 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:430 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:442 +#: templates/js/translated/part.js:458 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:444 +#: templates/js/translated/part.js:460 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:471 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:512 +#: templates/js/translated/part.js:528 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:513 +#: templates/js/translated/part.js:529 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:543 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:529 +#: templates/js/translated/part.js:545 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:530 +#: templates/js/translated/part.js:546 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:547 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:554 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:574 +#: templates/js/translated/part.js:590 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:592 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:581 +#: templates/js/translated/part.js:597 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:583 +#: templates/js/translated/part.js:599 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:616 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:626 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:613 +#: templates/js/translated/part.js:629 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:638 +#: templates/js/translated/part.js:654 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:666 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/part.js:682 +#: templates/js/translated/table_filters.js:743 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:669 +#: templates/js/translated/part.js:685 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:729 +#: templates/js/translated/part.js:745 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:752 +#: templates/js/translated/part.js:768 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:775 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1203 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:787 +#: templates/js/translated/part.js:803 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:791 +#: templates/js/translated/part.js:807 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:878 +#: templates/js/translated/part.js:894 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:882 +#: templates/js/translated/part.js:898 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1031 +#: templates/js/translated/part.js:1047 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1089 templates/js/translated/part.js:1125 +#: templates/js/translated/part.js:1105 templates/js/translated/part.js:1141 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1093 templates/js/translated/part.js:1135 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1151 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1262 +#: templates/js/translated/part.js:1278 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1580 +#: templates/js/translated/part.js:1596 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1643 +#: templates/js/translated/part.js:1659 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1671 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1679 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1697 -#: templates/js/translated/purchase_order.js:1633 +#: templates/js/translated/part.js:1713 +#: templates/js/translated/purchase_order.js:1637 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1840 -#: templates/js/translated/purchase_order.js:2128 -#: templates/js/translated/return_order.js:749 +#: templates/js/translated/part.js:1856 +#: templates/js/translated/purchase_order.js:2132 +#: templates/js/translated/return_order.js:753 #: templates/js/translated/sales_order.js:1872 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1885 -#: templates/js/translated/purchase_order.js:2195 +#: templates/js/translated/part.js:1901 +#: templates/js/translated/purchase_order.js:2199 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1948 +#: templates/js/translated/part.js:1964 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1986 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2058 templates/js/translated/part.js:2480 +#: templates/js/translated/part.js:2074 templates/js/translated/part.js:2501 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2195 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2184 +#: templates/js/translated/part.js:2200 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2209 +#: templates/js/translated/part.js:2230 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2262 +#: templates/js/translated/part.js:2283 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2379 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2505 templates/js/translated/part.js:2635 -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 +#: templates/js/translated/stock.js:2640 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2521 +#: templates/js/translated/part.js:2542 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2619 +#: templates/js/translated/part.js:2640 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2655 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2735 +#: templates/js/translated/part.js:2756 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2751 +#: templates/js/translated/part.js:2772 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2849 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2879 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1436 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2880 templates/js/translated/stock.js:1399 -#: templates/js/translated/stock.js:1661 +#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1437 +#: templates/js/translated/stock.js:1699 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2884 +#: templates/js/translated/part.js:2905 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2921 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2914 +#: templates/js/translated/part.js:2935 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2993 templates/js/translated/part.js:2994 +#: templates/js/translated/part.js:3014 templates/js/translated/part.js:3015 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2996 +#: templates/js/translated/part.js:3017 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3002 +#: templates/js/translated/part.js:3023 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3073 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3079 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3154 +#: templates/js/translated/part.js:3175 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3170 +#: templates/js/translated/part.js:3191 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3215 +#: templates/js/translated/part.js:3236 msgid "Minimum Stock Level" msgstr "" @@ -11337,51 +11512,47 @@ msgstr "" msgid "No plugins found" msgstr "" -#: templates/js/translated/plugin.js:54 +#: templates/js/translated/plugin.js:57 +msgid "This plugin is no longer installed" +msgstr "" + +#: templates/js/translated/plugin.js:59 msgid "This plugin is active" msgstr "" -#: templates/js/translated/plugin.js:56 -msgid "This plugin is not active" +#: templates/js/translated/plugin.js:61 +msgid "This plugin is installed but not active" msgstr "" -#: templates/js/translated/plugin.js:62 -msgid "Plugin Description" -msgstr "" - -#: templates/js/translated/plugin.js:81 -msgid "Sample" -msgstr "" - -#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:116 templates/js/translated/plugin.js:185 msgid "Disable Plugin" msgstr "" -#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:118 templates/js/translated/plugin.js:185 msgid "Enable Plugin" msgstr "" -#: templates/js/translated/plugin.js:158 +#: templates/js/translated/plugin.js:157 msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/plugin.js:174 +#: templates/js/translated/plugin.js:176 msgid "Are you sure you want to enable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:178 +#: templates/js/translated/plugin.js:180 msgid "Are you sure you want to disable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Enable" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Disable" msgstr "" -#: templates/js/translated/plugin.js:200 +#: templates/js/translated/plugin.js:202 msgid "Plugin updated" msgstr "" @@ -11578,80 +11749,80 @@ msgstr "" msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:554 +#: templates/js/translated/purchase_order.js:1318 +#: templates/js/translated/return_order.js:558 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1315 +#: templates/js/translated/purchase_order.js:1319 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1387 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1384 +#: templates/js/translated/purchase_order.js:1388 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:1664 #: templates/js/translated/return_order.js:283 #: templates/js/translated/sales_order.js:771 #: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/purchase_order.js:1726 #: templates/js/translated/return_order.js:351 #: templates/js/translated/sales_order.js:848 #: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1818 +#: templates/js/translated/purchase_order.js:1822 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/purchase_order.js:1840 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1895 #: templates/js/translated/sales_order.js:2067 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/purchase_order.js:1910 #: templates/js/translated/return_order.js:473 -#: templates/js/translated/return_order.js:662 +#: templates/js/translated/return_order.js:666 #: templates/js/translated/sales_order.js:2080 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/return_order.js:675 +#: templates/js/translated/purchase_order.js:1921 +#: templates/js/translated/return_order.js:679 #: templates/js/translated/sales_order.js:2091 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/purchase_order.js:2203 #: templates/js/translated/sales_order.js:2021 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2200 -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:798 #: templates/js/translated/sales_order.js:2022 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/purchase_order.js:2205 +#: templates/js/translated/return_order.js:802 #: templates/js/translated/sales_order.js:2028 msgid "Delete line item" msgstr "" @@ -11714,16 +11885,16 @@ msgstr "" msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:555 +#: templates/js/translated/return_order.js:559 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:686 +#: templates/js/translated/return_order.js:690 #: templates/js/translated/sales_order.js:2227 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:791 +#: templates/js/translated/return_order.js:795 msgid "Mark item as received" msgstr "" @@ -11866,7 +12037,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 #: templates/js/translated/sales_order.js:1707 -#: templates/js/translated/stock.js:1706 +#: templates/js/translated/stock.js:1744 msgid "Shipped to customer" msgstr "" @@ -11928,464 +12099,472 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:97 +#: templates/js/translated/stock.js:98 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:128 +#: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:137 +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:172 +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:187 +#: templates/js/translated/stock.js:217 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:189 +#: templates/js/translated/stock.js:219 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:220 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:204 +#: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:211 +#: templates/js/translated/stock.js:241 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:220 +#: templates/js/translated/stock.js:250 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:224 +#: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:229 +#: templates/js/translated/stock.js:259 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:283 +#: templates/js/translated/stock.js:313 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:319 +#: templates/js/translated/stock.js:349 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:328 +#: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:334 +#: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:405 +#: templates/js/translated/stock.js:439 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:425 +#: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:441 +#: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:446 +#: templates/js/translated/stock.js:480 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:467 +#: templates/js/translated/stock.js:501 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:509 +#: templates/js/translated/stock.js:543 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:521 +#: templates/js/translated/stock.js:555 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:534 +#: templates/js/translated/stock.js:568 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:593 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:580 +#: templates/js/translated/stock.js:614 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:600 +#: templates/js/translated/stock.js:634 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:609 +#: templates/js/translated/stock.js:643 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:717 +#: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:752 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:795 +#: templates/js/translated/stock.js:829 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:830 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:798 +#: templates/js/translated/stock.js:832 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:833 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:928 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:929 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:1024 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:1025 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:993 +#: templates/js/translated/stock.js:1031 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:1032 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:998 +#: templates/js/translated/stock.js:1036 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:1037 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1003 +#: templates/js/translated/stock.js:1041 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:252 +#: templates/js/translated/stock.js:1042 users/models.py:253 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1046 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3258 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1224 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1322 +#: templates/js/translated/stock.js:1360 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1324 +#: templates/js/translated/stock.js:1362 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1329 +#: templates/js/translated/stock.js:1367 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1391 +#: templates/js/translated/stock.js:1429 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1432 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1418 +#: templates/js/translated/stock.js:1456 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1482 +#: templates/js/translated/stock.js:1520 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1682 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1666 +#: templates/js/translated/stock.js:1704 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1736 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1710 +#: templates/js/translated/stock.js:1748 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1716 +#: templates/js/translated/stock.js:1754 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:1810 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1819 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1830 +#: templates/js/translated/stock.js:1868 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:1923 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1890 +#: templates/js/translated/stock.js:1928 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1901 +#: templates/js/translated/stock.js:1939 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1945 +#: templates/js/translated/stock.js:1983 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2023 +#: templates/js/translated/stock.js:2061 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2069 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2034 +#: templates/js/translated/stock.js:2072 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2036 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2076 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2079 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2081 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2085 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2049 +#: templates/js/translated/stock.js:2087 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2092 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2056 +#: templates/js/translated/stock.js:2094 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2096 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2062 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/stock.js:2100 +#: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2227 +#: templates/js/translated/stock.js:2265 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2274 +#: templates/js/translated/stock.js:2312 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2402 +#: templates/js/translated/stock.js:2440 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2506 +#: templates/js/translated/stock.js:2544 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2699 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2817 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2772 +#: templates/js/translated/stock.js:2821 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2833 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2806 +#: templates/js/translated/stock.js:2855 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2872 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2838 +#: templates/js/translated/stock.js:2887 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2904 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2921 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2891 +#: templates/js/translated/stock.js:2940 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2909 +#: templates/js/translated/stock.js:2958 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/stock.js:2976 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/stock.js:2984 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3007 +#: templates/js/translated/stock.js:3056 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3057 templates/js/translated/stock.js:3092 +#: templates/js/translated/stock.js:3106 templates/js/translated/stock.js:3141 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3110 +#: templates/js/translated/stock.js:3163 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3131 +#: templates/js/translated/stock.js:3184 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3132 +#: templates/js/translated/stock.js:3185 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3134 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3135 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3136 +#: templates/js/translated/stock.js:3189 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3137 +#: templates/js/translated/stock.js:3190 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3150 +#: templates/js/translated/stock.js:3203 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3206 +#: templates/js/translated/stock.js:3259 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3219 +#: templates/js/translated/stock.js:3272 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3223 +#: templates/js/translated/stock.js:3276 msgid "Change Stock Status" msgstr "" @@ -12394,23 +12573,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:565 -#: templates/js/translated/table_filters.js:577 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:601 +#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:654 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:582 -#: templates/js/translated/table_filters.js:608 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:659 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:590 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Assigned to me" msgstr "" @@ -12431,12 +12610,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:775 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:234 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:345 msgid "Include sublocations" msgstr "" @@ -12444,210 +12623,210 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:254 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:671 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:263 -#: templates/js/translated/table_filters.js:719 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:356 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:277 -#: templates/js/translated/table_filters.js:363 -msgid "Serial number GTE" +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" msgstr "" #: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:364 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:707 +msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:281 -#: templates/js/translated/table_filters.js:367 -msgid "Serial number LTE" +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:755 +msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:368 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:359 -#: templates/js/translated/table_filters.js:360 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:290 -#: templates/js/translated/table_filters.js:381 -msgid "Batch code" +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:301 -#: templates/js/translated/table_filters.js:660 -msgid "Active parts" +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:696 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:335 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:365 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:346 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:372 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:376 +#: templates/js/translated/table_filters.js:400 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:385 +#: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:414 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:391 +#: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:412 +#: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:418 +#: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:432 +#: templates/js/translated/table_filters.js:456 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:436 +#: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:475 +#: templates/js/translated/table_filters.js:511 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:713 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:721 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:693 -#: templates/js/translated/table_filters.js:789 +#: templates/js/translated/table_filters.js:729 +#: templates/js/translated/table_filters.js:825 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:694 +#: templates/js/translated/table_filters.js:730 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:734 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:699 +#: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:703 +#: templates/js/translated/table_filters.js:739 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:711 +#: templates/js/translated/table_filters.js:747 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:723 +#: templates/js/translated/table_filters.js:759 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:785 +#: templates/js/translated/table_filters.js:821 msgid "Has Choices" msgstr "" @@ -12938,34 +13117,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:239 +#: users/models.py:240 msgid "Permission set" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Group" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "View" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "Permission to view items" msgstr "" -#: users/models.py:252 +#: users/models.py:253 msgid "Permission to add items" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Change" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Permissions to edit items" msgstr "" -#: users/models.py:256 +#: users/models.py:257 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 7c89a49116..b57efd4a85 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:02\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Не указано название" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "Невозможно преобразовать {original} в {unit}" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "Недопустимое количество" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Введите дату" msgid "Notes" msgstr "Заметки" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Значение '{name}' отсутствует в формате шаблона" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Предоставленное значение не соответствует требуемому формату: " @@ -98,99 +103,99 @@ msgstr "Подтвердите новый пароль" msgid "Old password" msgstr "Старый пароль" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (еще раз)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Подтверждение адреса электронной почты" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Указанный основной адрес электронной почты неверен." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Указанный домен электронной почты не утверждён." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Регистрация отключена." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Повторяющийся серийный номер" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Некорректный идентификатор группы {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Диапазон групп {g} превышает допустимое количество ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Неверная последовательность групп: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Удалить HTML теги из этого значения" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Ошибка соединения" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Сервер ответил неверным кодом статуса" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Произошло исключение" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Сервер ответил неверным значением Контент-Длина" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Изображение слишком большое" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Загрузка изображения превышен максимальный размер" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Удаленный сервер вернул пустой ответ" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Предоставленный URL не является допустимым файлом изображения" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Войти в приложение" msgid "Email" msgstr "EMail" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Метаданные должны быть объектом python dict" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "Метаданные плагина" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "Поле метаданных JSON для использования внешними плагинами" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Неправильно отформатированный шаблон" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Указан неизвестный ключ формата" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Отсутствует требуемый ключ формата" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Ссылочный идентификатор не может быть пустым" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Ссылка должна соответствовать шаблону {pattern}" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Номер ссылки слишком большой" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Файл не найден" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Имя файла не должно быть пустым" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Неверная директория вложений" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Имя файла содержит запрещенные символы '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Отсутствует расширение для имени файла" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Вложение с таким именем файла уже существует" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Ошибка переименования файла" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Неверный выбор" msgid "Name" msgstr "Название" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Название" msgid "Description" msgstr "Описание" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "родитель" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Описание обновления (необязательное)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Данные штрих-кода" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Столбцы данных не предоставлены" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Отсутствует обязательный столбец: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" @@ -634,7 +639,7 @@ msgstr "Китайский (Упрощенный)" msgid "Chinese (Traditional)" msgstr "Китайский (Традиционный)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -683,7 +688,7 @@ msgstr "Возвращено" msgid "In Progress" msgstr "Выполняется" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Возврат" msgid "Reject" msgstr "Отклонить" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "Неверная физическая единица" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Неверный код валюты" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Значение перегрузки не должно быть отрицательным" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Перегрузка не может превысить 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Неверное значение для возврата средств" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Указан неверный пароль" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Информация о системе" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "О программе InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Сборка должна быть отменена перед удалением" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Расходники" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Расходники" msgid "Optional" msgstr "Необязательно" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Выделено" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Неверный выбор для родительской сборки msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "ПорядокСборки, которому выделяется эта сборка" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "ПорядокСборки, которому выделяется эта #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Отсылка на заказ" msgid "SalesOrder to which this build is allocated" msgstr "ЗаказПродаж, которому выделена эта сборка" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Статус сборки" msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Дата завершения" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "Пользователь, ответственный за сборку #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "Приоритет сборки" msgid "Priority of this build order" msgstr "Приоритет этого порядка сборки заказа" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Код проекта" msgid "Project code for this build order" msgstr "Код проекта для этого заказа сборки" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на сборку {build} был завершен" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Заказ на сборку был завершен" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше выходного количества" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "Построить объект" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "Построить объект" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "Построить объект" msgid "Quantity" msgstr "Количество" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа сборки" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Выделенное количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "Выбранный товар на складе не соответствует строке BOM" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "Выбранный товар на складе не соответст msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для построения" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Установить в" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Целевой товар на складе" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Вывод результата сборки" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Результат сборки не совпадает с родительской сборкой" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Выходная часть не соответствует части BuildOrder" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Результат этой сборки уже помечен как завершенный" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "Этот вывод сборки не полностью выделен" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для результатов сборки" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически выделять необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список результатов сборки" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "Необходимо представить список результ msgid "Location" msgstr "Расположение" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "Расположение на складе для обрытых результатов" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "Отклонить распределения" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить любые распределения запасов для отбракованных выходов" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "Причина ломания вывода(ов) сборки" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "Расположение для завершенных выходов сборки" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "Расположение для завершенных выходов с msgid "Status" msgstr "Статус" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "Принять неполное распределение" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "Выходы, если запасы не были полностью распределены" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "Удалить выделенный запас" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "Вычесть запасы, которые уже были выделены для этой сборки" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Удалить неполные выходные данные" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "Удалить все результаты сборки, которые не были завершены" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Нет разрешения" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "Принять как потребляемые этим порядком сборки" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "Распределить до завершения заказа на сборку" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные товары, назначенные для заказа на сборку" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "Некоторые товары на складе перераспределены" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "Принять снято" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что товары на складе не были полностью выделены для этого заказа на сборку" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были выделены полностью" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Принять незавершенные" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "Принять, что требуемое количество результатов сборки не было завершено" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Обязательное количество сборки не было завершено" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Порядок сборки имеет незавершенные результаты" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "Строка сборки" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "Вывод сборки" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "Вывод сборки должен указывать на ту же сборку" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "Сборка Линии Предмет" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и порядок сборки" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "Вывод сборки должен быть определен для распределения отслеживаемых частей" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Вывод сборки не может быть указан для распределения неотслеживаемых частей" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "Этот запас уже был выделен для этого вывода сборки" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "Необходимо указать пункты распределения" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Расположение склада, где будут переданы части (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "Исключить местоположение" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "Исключить товары на складе из этого выбранного места" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Товары на складе в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "Заменить запасы" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "Разрешить распределение замещающих частей" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "Выделить дополнительные BOM предметы для заказа" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "Для заказа сборки необходим остаток" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "Просроченный заказ сборки" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Заказ на сборку {bo} просрочен" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "Складской источник" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Назначение" @@ -2013,1372 +2014,1372 @@ msgstr "Обновлено" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "Название инстанса" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Название компании" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "дней" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "Ограничение размера загрузки" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "Максимально допустимый размер загрузки для удалённого изображения" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "User-Agent, используемый для загрузки из URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Позволяет переопределить user-Agent, используемый для загрузки изображений и файлов с внешнего URL (оставьте пустым по умолчанию)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Требуется подтверждение" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Требовать явное подтверждение пользователя для определенного действия." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Глубина дерева" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Глубина дерева по умолчанию для просмотра дерева. Глубокие уровни загружены по мере необходимости." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Интервал проверки обновлений" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Интервал автосохранения" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Укажите количество дней между событиями автоматического резервного копирования" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Интервал удаления задачи" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Результаты фоновых задач будут удалены после указанного количества дней" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Интервал удаления уведомления" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Уведомления пользователя будут удалены после указанного количества дней" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Поддержка штрих-кодов" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Задержка сканирования штрих-кода" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "Время задержки обработки штрих-кода" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "Поддержка веб-камер штрих-кодов" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "Ревизия деталей" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Шаблон" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Сборка" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Компонент" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Можно купить" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Отслеживание" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Виртуальная" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "Включить возврат заказов" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Искать заказы на сборку" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Отображать заказы на сборку в окне предварительного просмотра поиска" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Поиск возвращенных заказов" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Запасы деталей" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Цена" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "Активный" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "Детали импортированы" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Контактный EMail" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Является ли компания производителем де msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Компания" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "Выберите компанию" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Выберите деталь" msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Выберите производителя" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Значение" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Ед.изм" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "Поставщик" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Выберите поставщика" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "Выберите производителя части" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Заметка" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Покупатель" msgid "Uses default currency" msgstr "Использовать валюту по умолчанию" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Производители" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Детали на складе" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Новый поставщик" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Новый производитель" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Покупатели" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Новый покупатель" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Компании" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Новая компания" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "Высота [мм]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Фильтры" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Заказ на закупку" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "Контакт не соответствует выбранной компании" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "Описание заказа (дополнительно)" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "Пользователь или группа, ответственная за этот заказ" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "Описание товара (необязательно)" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "Контекст" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "Дополнительный контекст для этой строки" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Укажите количество на складе" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "Выберите товар возврата от клиента" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных товаров" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих товаров на складе" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для выделения" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Действия" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "Наименование детали" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Версия" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Ключевые слова" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "Код категории" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "Название категории" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5493,8 +5496,8 @@ msgstr "Минимальный запас" msgid "In Stock" msgstr "На складе" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "Используется в" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "Путь к категории" msgid "Parts" msgstr "Детали" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "IPN" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Доступный запас" @@ -5613,7 +5616,7 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -5659,62 +5662,62 @@ msgstr "Иконка (необязательно)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN должен совпадать с регулярным выражением {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Ключевые слова для улучшения видимости msgid "Category" msgstr "Категория" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Категория" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для товаров на складе этой позиции" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "Пользователь, ответственный за эту деталь" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "Тестовые шаблоны могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "BOM Компонент" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на сборку)" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "Не выбран ни один элемент" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "Код производителя" @@ -6375,190 +6378,190 @@ msgstr "Код производителя" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "Зарезервировано для сборки" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "Создать новую разновидность детали" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Неизвестная база данных" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "Действие не указано" msgid "No matching action found" msgstr "Соответствующее действие не найдено" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Не найдено совпадений для данных штрих-кода" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "Результаты проверки" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "Проверка" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Место хранения" msgid "Stock Locations" msgstr "Места хранения" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "Выберите владельца" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "Выберите соответствующего поставщика части для этого товара на складе" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "Количество на складе" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "Введите количество товаров на складе для сериализации" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "Выберите товар на складе для установки" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "Выберите товары на складе для изменения статуса" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "Не выбрано ни одного товара на складе" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" @@ -10271,7 +10375,7 @@ msgstr "" #: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "Для этого заказа остались незавершенные результаты" #: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" @@ -10388,7 +10492,7 @@ msgstr "" #: templates/js/translated/build.js:751 msgid "Scrap Build Outputs" -msgstr "" +msgstr "Выработка лома" #: templates/js/translated/build.js:841 msgid "Selected build outputs will be deleted" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index f229aadaf4..f40c4a04d0 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:02\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Napaka, podrobnosti vidne v pogledu administratorja" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Vnesi datum" msgid "Notes" msgstr "Zapiski" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Vrednost '{name}' ni v predpisanem formatu" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Podana vrednost se ujema s predpisanim vzorcem: " @@ -98,99 +103,99 @@ msgstr "Potrdite novo geslo" msgid "Old password" msgstr "Staro geslo" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Ponovnite e-pošto" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Potrdite e-pošto" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "E-pošti se morata ujemati" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Podana epošta ni veljavna." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Domena epošte ni podprta." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Podana napačna količina" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Prazno polje serijske številke" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Dvojna serijska številka" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Nepravilni obseg skupine: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Obseg skupine {g} presega dovoljeno vrednost ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Nepravilno zaporedje skupine: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Serijske številke niso najdene" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Število unikatnih serijskih številk ({s}) se mora ujemati s količino ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Odstranite oznako HTML iz te vrednosti" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Napaka povezave" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Odziv serverja: napravilni status kode" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Pojavila se je izjema" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Odziv serverja: napačna dolžina vrednosti" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Prevelika velikost slike" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Prenos slike presegel največjo velikost" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Oddaljeni server vrnil prazen odziv" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Nepravilno nastavljen vzorec" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Nastavljen neprepoznan ključ formata" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Manjka obvezen ključ formata" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Referenčno polje ne sme biti prazno" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Referenca se mora ujemati s vzorcem" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Manjka datoteka" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Priloga" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Zunanja povezava" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Komentar" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Uporabnik" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "naloži datum" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Ime ne sme biti prazno" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Neveljavna mapa prilog" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Ime datoteke vsebuje neveljavni znak '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Datoteki manjka končnica" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Priloga s tem imenom že obstaja" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Napaka pri preimenovanju datoteke" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Nedovoljena izbira" msgid "Name" msgstr "Ime" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Ime" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "nadrejen" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Ime datoteke" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Podatki datoteke" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Izberite datoteke za naložiti" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Nepodprta vrsta datotek" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Datoteka je prevelika" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "V datoteki ni bilo najdenih stolpcev" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "V datoteki ni bilo njadenih vrstic" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Niso bile podane vrste s podatki" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Niso bili podani stolpci s podatki" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Manjka obvezni stolpec: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dvojni stolpec: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Povezava" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -683,7 +688,7 @@ msgstr "Vrnjeno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Neveljavna oznaka valute" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Prestara vrednost ne sme biti negativna" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Prestarost ne sme presegati 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Neveljavna vrednost za prestarost" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Uredite informacije o uporabniku" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Nastavite geslo" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Polja z geslom se morajo ujemati" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Vnešeno nepravilno geslo" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Sistemske informacije" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Neveljavna izbira za nadrejeno izgradnjo" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Referenca dobavnica" msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Datom končanja" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Količina" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 601c5ae028..76399985e3 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:02\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Ange datum" msgid "Notes" msgstr "Anteckningar" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Värdet '{name}' visas inte i mönsterformat" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: " @@ -98,99 +103,99 @@ msgstr "Bekräfta nytt lösenord" msgid "Old password" msgstr "Tidigare lösenord" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-post (igen)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Bekräfta e-postadress" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Du måste ange samma e-post varje gång." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Den angivna primära e-postadressen är inte giltig." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Den angivna e-postdomänen är inte godkänd." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ogiltigt gruppområde: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ogiltig gruppsekvens: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, 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:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Anslutningsfel" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Servern svarade med ogiltig statuskod" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Undantag inträffade" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Servern svarade med ogiltigt innehållslängdsvärde" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Bilden är för stor" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Nedladdning av bilder överskred maximal storlek" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Fjärrservern returnerade tomt svar" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "E-post" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "Felaktigt formaterat mönster" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "Okänd formatnyckel angiven" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Obligatorisk formatnyckel saknas" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "Textfältet kan inte lämnas tomt" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "Referensen måste matcha obligatoriskt mönster" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Saknad fil" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Bilaga" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Länk till extern URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Användare" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "uppladdningsdatum" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Filnamnet får inte vara tomt" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Ogiltig katalog för bilaga" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Filnamnet innehåller ogiltiga tecken '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Filnamn saknar ändelse" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Det finns redan en bilaga med detta filnamn" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Fel vid namnbyte av fil" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Ogiltigt val" msgid "Name" msgstr "Namn" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Namn" msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "överordnad" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" @@ -634,7 +639,7 @@ msgstr "Kinesiska (Förenklad)" msgid "Chinese (Traditional)" msgstr "Kinesiska (Traditionell)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -683,7 +688,7 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "Återbetala" msgid "Reject" msgstr "Avvisa" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Inte en giltig valutakod" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Överskott värde får inte vara negativt" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Överskott får inte överstiga 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "Ogiltigt värde för överskott" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Redigera användarinformation" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ställ in lösenord" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Lösenorden måste matcha" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Felaktigt lösenord angivet" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformation" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "Ogiltigt val för överordnad bygge" msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Försäljningsorderreferens" msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "Projektkod" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Installera till" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "Plats" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "Status" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Mål" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Unik projektkod" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Projektbeskrivning" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Ingen grupp" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Ladda ned från URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Tillåt nedladdning av bilder och filer från extern URL" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "Företag" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "Land" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "Leverantör" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Välj leverantör" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Kund" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Tillverkare" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "Adresser" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Ny leverantör" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Kunder" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Ny kund" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "Etikett" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "QR-kod" msgid "QR code" msgstr "QR-kod" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "QR-kod" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Nyckelord" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "I lager" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "Artiklar" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "Ikon (valfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN måste matcha regex mönster {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "Kategori" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "Okänd databas" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" @@ -7258,19 +7261,20 @@ msgstr "Ingen åtgärd specificerad" msgid "No matching action found" msgstr "Ingen matchande åtgärd hittades" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "Leverantörsnamn" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 133f421187..c6ad212567 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "ป้อนวันที่" msgid "Notes" msgstr "หมายเหตุ" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -98,99 +103,99 @@ msgstr "ยืนยันรหัสผ่านใหม่" msgid "Old password" msgstr "รหัสผ่านเดิม" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "อีเมล (อีกครั้ง)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "การยืนยันอีเมล" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "หมายเลขซีเรียลซ้ำกัน" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "ไม่พบหมายเลขซีเรียล" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "การเชื่อมต่อขัดข้อง" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "ไฟล์แนบ" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "ความคิดเห็น" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "ผู้ใช้งาน" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "วันที่อัปโหลด" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "จำเป็นต้องใส่ชื่อไฟล์" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "ชื่อไฟล์ห้ามมีตัวอักษรต้องห้าม '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "ไม่พบนามสกุลของไฟล์" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "" msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "ชื่อ" msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "ชื่อไฟล์" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "ไฟล์มีขนาดใหญ่เกินไป" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -683,7 +688,7 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "แก้ไขข้อมูลสมาชิก" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "ตั้งรหัสผ่าน" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "รหัสผ่านต้องตรงกัน" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "ข้อมูลระบบ" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "สถานะ" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 325e64edb0..f1c9c826f7 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:02\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Değer verilmemiş" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Hata detaylarını admin panelinde bulabilirsiniz" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Tarih giriniz" msgid "Notes" msgstr "Notlar" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "'{name}' değeri desen formatında yer almıyor" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Sağlanan değer gerekli kalıpla eşleşmiyor: " @@ -98,99 +103,99 @@ msgstr "Yeni parolayı doğrulayın" msgid "Old password" msgstr "Eski parola" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "E-posta (tekrar)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "E-posta adresi onayı" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Sağlanan e-posta adresi geçerli değil." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Sağlanan e-posta alanı onaylanmadı." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Kayıt devre dışı." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Yinelenen seri" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Geçersiz grup: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Bağlantı hatası" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Sunucu geçersiz durum kodu ile cevap verdi" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "İstisna oluştu" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Resim boyutu çok büyük" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Resim indirme boyutu izin verilenden büyük" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Uzak sunucu boş cevap döndü" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" @@ -206,64 +211,64 @@ msgstr "" msgid "Email" msgstr "E-posta" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Eksik dosya" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Dosya adı boş olamaz" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Ek dosya yolu geçersiz" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Dosya adı geçersiz karakterler içeriyor'{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Dosya uzantısı yok" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Aynı isimli başka bir dosya zaten var" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Dosya adı değiştirilirken hata" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Geçersiz seçim" msgid "Name" msgstr "Adı" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Adı" msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "üst" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Yol" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" @@ -634,7 +639,7 @@ msgstr "" msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -683,7 +688,7 @@ msgstr "İade" msgid "In Progress" msgstr "Devam Ediyor" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "Geçerli bir para birimi kodu değil" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "Fazlalık değeri negatif olmamalıdır" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "Fazlalık %100'ü geçmemelidir" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Sistem Bilgisi" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "" msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ 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:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "Satış Emri Referansı" msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,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:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "Konum" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "Durum" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ 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:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ 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:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Hedef" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "günler" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Şablon" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1338 +#: common/models.py:1327 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:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Bileşen" -#: common/models.py:1345 +#: common/models.py:1334 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:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "Fiyat" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Bu şirket üretim yapıyor mu?" msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "Parça seçin" msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "Üretici seçin" msgid "MPN" msgstr "ÜPN" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Değer" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "Tedarikçi seçin" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Not" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "çoklu" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "Müşteri" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "Üreticiler" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "Stok Kalemleri" msgid "Supplier Part Pricing" msgstr "Tedarikçi Parçası Fiyatlandırması" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "Yeni Tedarikçi" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "Yeni Üretici" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "Müşteriler" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "Yeni Müşteri" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "Şirketler" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "Yeni Şirket" @@ -4422,7 +4425,7 @@ msgstr "Etiket" msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "Etkin" @@ -4446,7 +4449,7 @@ msgstr "Yükseklik [mm]" msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "Filtreler" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "İşlemler" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5493,8 +5496,8 @@ msgstr "Minimum Stok" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "Parçalar" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN regex kalıbıyla eşleşmelidir {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Parça adı" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:867 +#: part/models.py:859 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:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1008 +#: part/models.py:1000 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:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 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:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 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:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3906 +#: part/models.py:3861 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:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "Yeni parça çeşidi oluştur" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "İşlem belirtilmedi" msgid "No matching action found" msgstr "Eşleşen eylem bulunamadı" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "Barkod verisi için eşleşme bulunamadı" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Stok kalemi sorgu filtreleri (anahter=değer [key=value] olarak virgülle ayrılmış liste)" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Stok Konumu" msgid "Stock Locations" msgstr "Stok Konumları" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 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:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 63c419d5f4..7f87b250b2 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-15 16:33\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "Chưa cung cấp giá trị" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "" +msgstr "Không thể chuyển đổi {original} sang {unit}" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" -msgstr "" +msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "Số lượng cung cấp không hợp lệ ({exc})" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản trị" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "Nhập ngày" msgid "Notes" msgstr "Ghi chú" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "Giá trị '{name}' không xuất hiện ở định dạng mẫu" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "Giá trị được cung cấp không khớp với mẫu bắt buộc: " @@ -98,99 +103,99 @@ msgstr "Xác nhận mật khẩu mới" msgid "Old password" msgstr "Mật khẩu cũ" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (nhắc lại)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Xác nhận địa chỉ email" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "Bạn phải nhập cùng một email mỗi lần." -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "Địa chỉ email chính đã cung cấp không hợp lệ." -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "Miền email được cung cấp không được phê duyệt." -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "Đăng ký bị vô hiệu hóa." -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "Chuỗi số sê-ri trống" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "Trùng lặp sê-ri" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Phạm vi nhóm không hợp lệ: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Dãy nhóm {g} vượt quá số lượng cho phép ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Thứ tự nhóm không hợp lệ: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "Không tìm thấy số sê-ri" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "Số sê ri duy nhất ({s}) phải hợp với số lượng ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "Xóa thẻ HTML từ giá trị này" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "Lỗi kết nối" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "Máy chủ phản hồi với mã trạng thái không hợp lệ" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "Xảy ra Exception" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "Máy chủ đã phản hồi với giá trị Content-Length không hợp lệ" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "Hình ảnh quá lớn" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "Máy chủ trả về phản hồi trống" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ" @@ -206,64 +211,64 @@ msgstr "[{site.name}] Đăng nhập vào ứng dụng" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Siêu dữ liệu phải là đối tượng từ điển của python" + +#: InvenTree/models.py:85 +msgid "Plugin Metadata" +msgstr "Phụ trợ siêu dữ liệu" #: InvenTree/models.py:86 -msgid "Plugin Metadata" -msgstr "" - -#: InvenTree/models.py:87 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Trường siêu dữ liệu JSON, được sử dụng bởi phụ trợ bên ngoài" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" -msgstr "" +msgstr "Mẫu được định dạng không thích hợp" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" -msgstr "" +msgstr "Khóa định dạng không rõ ràng đã được chỉ định" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "Thiếu khóa định dạng cần thiết" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" -msgstr "" +msgstr "Trường tham chiếu không thể rỗng" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" -msgstr "" +msgstr "Tham chiếu phải phù hợp với mẫu yêu cầu" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" -msgstr "" +msgstr "Số tham chiếu quá lớn" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "Đính kèm" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "Chọn file đính kèm" msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "Bình luận" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "Người dùng" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "Ngày tải lên" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "Tên tập tin không được để trống" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "Thư mục đính kèm không hợp lệ" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "Tên tập tin chứa ký tự không hợp lệ '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "Tên tệp tin thiếu phần mở rộng" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "Tên của tệp đính kèm này đã tồn tại" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "Lỗi khi đổi tên tệp tin" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "Lựa chọn sai" msgid "Name" msgstr "Tên" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "Tên" msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "thư mục cha" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "Chuỗi băm duy nhất của dữ liệu mã vạch" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "Tập tin dữ liệu" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "Chọn tệp tin để tải lên" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "Loại tệp tin không được hỗ trợ" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "Tệp tin quá lớn" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "Không tìm thấy cột nào trong tệp tin" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "Không tìm thấy dòng nào trong tệp tin" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "Chưa có dữ liệu" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "Chưa cung cấp cột dữ liệu" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Thiếu cột bắt buộc: '{name}'" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Nhân bản cột: '{col}'" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" @@ -634,9 +639,9 @@ msgstr "Tiếng Trung (Giản thể)" msgid "Chinese (Traditional)" msgstr "Tiếng Trung (Phồn thể)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" -msgstr "" +msgstr "Nhân công chạy ngầm kiểm tra thất bại" #: InvenTree/status.py:72 msgid "Email backend not configured" @@ -683,7 +688,7 @@ msgstr "Đã trả lại" msgid "In Progress" msgstr "Đang tiến hành" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -716,7 +721,7 @@ msgstr "Đã cách ly" #: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "Mục theo dõi kho cổ điển" #: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" @@ -724,91 +729,91 @@ msgstr "Kho hàng đã được khởi tạo" #: InvenTree/status_codes.py:96 msgid "Edited stock item" -msgstr "" +msgstr "Sửa kho hàng" #: InvenTree/status_codes.py:97 msgid "Assigned serial number" -msgstr "" +msgstr "Số sê ri đã được gán" #: InvenTree/status_codes.py:100 msgid "Stock counted" -msgstr "" +msgstr "Kho đã đếm" #: InvenTree/status_codes.py:101 msgid "Stock manually added" -msgstr "" +msgstr "Kho được thêm thủ công" #: InvenTree/status_codes.py:102 msgid "Stock manually removed" -msgstr "" +msgstr "Kho được xóa thủ công" #: InvenTree/status_codes.py:105 msgid "Location changed" -msgstr "" +msgstr "Vị trí đã thay đổi" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "" +msgstr "Kho hàng đã được cập nhật" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" -msgstr "" +msgstr "Đã cài đặt vào bộ phận lắp ráp" #: InvenTree/status_codes.py:110 msgid "Removed from assembly" -msgstr "" +msgstr "Di rời khỏi bộ phận lắp ráp" #: InvenTree/status_codes.py:112 msgid "Installed component item" -msgstr "" +msgstr "Mục thành phần đã cài đặt" #: InvenTree/status_codes.py:113 msgid "Removed component item" -msgstr "" +msgstr "Mục thành phần đã di rời" #: InvenTree/status_codes.py:116 msgid "Split from parent item" -msgstr "" +msgstr "Tách từ mục cha" #: InvenTree/status_codes.py:117 msgid "Split child item" -msgstr "" +msgstr "Tách mục con" #: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" -msgstr "" +msgstr "Kho hàng đã được gộp" #: InvenTree/status_codes.py:123 msgid "Converted to variant" -msgstr "" +msgstr "Đã chuyển đổi sang biến thể" #: InvenTree/status_codes.py:126 msgid "Build order output created" -msgstr "" +msgstr "Đầu ra đơn đặt bản dựng đã được tạo" #: InvenTree/status_codes.py:127 msgid "Build order output completed" -msgstr "" +msgstr "Đầu ra đơn đặt bản dựng đã hoàn thành" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Đầu ra đơn đặt bản dựng bị từ chối" #: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" -msgstr "" +msgstr "Tiêu hao bởi đơn đặt bản dựng" #: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Vận chyển dựa vào đơn đặt bản dựng" #: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" -msgstr "" +msgstr "Đã nhận dựa vào đơn đặt hàng mua" #: InvenTree/status_codes.py:138 msgid "Returned against Return Order" -msgstr "" +msgstr "Trả hành dựa vào đơn hàng trả lại" #: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" @@ -842,62 +847,62 @@ msgstr "Hoàn tiền" msgid "Reject" msgstr "Từ chối" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" -msgstr "" +msgstr "Đơn vị vật lý không hợp lệ" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" -msgstr "" +msgstr "Mã tiền tệ không hợp lệ" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" -msgstr "" +msgstr "Giá trị hàng hóa dư không thể là số âm" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" -msgstr "" +msgstr "Hàng hóa dư thừa không thể vượt quá 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" -msgstr "" +msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Sửa thông tin người dùng" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Đặt Mật khẩu" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "Mật khẩu phải trùng khớp" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "Nhập sai mật khẩu" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "Thông tin hệ thống" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "Vật tư tiêu hao" msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -954,15 +959,15 @@ msgstr "Tạo đơn hàng" #: build/models.py:115 msgid "Invalid choice for parent build" -msgstr "" +msgstr "Lựa chọn sai cho bản dựng cha" #: build/models.py:159 msgid "Build Order Reference" -msgstr "" +msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -987,16 +992,16 @@ msgstr "Phiên bản cha" #: build/models.py:180 msgid "BuildOrder to which this build is allocated" -msgstr "" +msgstr "Đơn đặt bản dựng với bản dựng này đã được phân bổ" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1046,13 +1051,13 @@ msgstr "Chọn sản phẩm để xây dựng" #: build/models.py:198 msgid "Sales Order Reference" -msgstr "" +msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:202 msgid "SalesOrder to which this build is allocated" -msgstr "" +msgstr "Đơn đặt bán hàng với bản dựng này đã được phân bổ" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1060,7 +1065,7 @@ msgstr "Địa điểm nguồn" #: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "" +msgstr "Chọn địa điểm để lấy trong kho cho bản dựng này (để trống để lấy từ bất kỳ vị trí kho nào)" #: build/models.py:216 msgid "Destination Location" @@ -1068,7 +1073,7 @@ msgstr "Địa điểm đích" #: build/models.py:220 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Chọn địa điểm nơi hàng hóa hoàn thiện sẽ được lưu kho" #: build/models.py:224 msgid "Build Quantity" @@ -1076,7 +1081,7 @@ msgstr "Xây dựng số lượng" #: build/models.py:227 msgid "Number of stock items to build" -msgstr "" +msgstr "Số kho hàng để dựng" #: build/models.py:231 msgid "Completed items" @@ -1094,17 +1099,17 @@ msgstr "Trnạg thái bản dựng" msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" -msgstr "" +msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1117,9 +1122,9 @@ msgstr "Ngày hoàn thành mục tiêu" #: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" +msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này." -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1134,13 +1139,13 @@ msgstr "Cấp bởi" #: build/models.py:280 msgid "User who issued this build order" -msgstr "" +msgstr "Người dùng người đã được phân công cho đơn đặt bản dựng này" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1152,7 +1157,7 @@ msgstr "Chịu trách nhiệm" #: build/models.py:289 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản dựng này" #: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1160,7 +1165,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1172,10 +1177,10 @@ msgstr "Độ ưu tiên" #: build/models.py:302 msgid "Priority of this build order" -msgstr "" +msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1187,50 +1192,50 @@ msgstr "Mã dự án" #: build/models.py:310 msgid "Project code for this build order" -msgstr "" +msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "" +msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" -msgstr "" +msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" -msgstr "" +msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" -msgstr "" +msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" -msgstr "" +msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" -msgstr "" +msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" -msgstr "" +msgstr "Dựng đối tượng" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" -msgstr "" +msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "" +msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm chủ được đánh dấu là có thể theo dõi" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" -msgstr "" +msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1316,87 +1321,87 @@ msgstr "" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2948 msgid "Stock Item" -msgstr "" +msgstr "Kho hàng" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" -msgstr "" +msgstr "Kho hàng gốc" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" -msgstr "" +msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" -msgstr "" +msgstr "Kho hàng đích" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "Số sê-ri" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "" msgid "Location" msgstr "Địa điểm" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,179 +1453,175 @@ msgstr "" msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" -msgstr "" +msgstr "Lộ giới" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" -msgstr "" +msgstr "Đầu ra bản dựng" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" -msgstr "" +msgstr "Đầu ra bản dựng phải chỉ đến bản dựng tương ứng" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" -msgstr "" +msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "Đầu ra bản dựng phải được xác định cho việc phân phụ kiện được theo dõi" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân phụ kiện chưa được theo dõi" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" -msgstr "" +msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" -msgstr "" +msgstr "Kho được yêu cầu cho đặt hàng bản dựng" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" -msgstr "" +msgstr "Đơn đặt bản dựng quá hạn" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "Đặt hàng bản dựng {bo} đang quá hạn" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Ảnh thu nhỏ phụ kiện" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -1632,7 +1633,7 @@ msgstr "" #: stock/templates/stock/location.html:54 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "" +msgstr "Chức năng mã vạch" #: build/templates/build/build_base.html:43 #: company/templates/company/supplier_part.html:40 @@ -1678,19 +1679,19 @@ msgstr "Chức năng in ấn" #: build/templates/build/build_base.html:61 msgid "Print build order report" -msgstr "" +msgstr "Báo cáo in đơn đặt bản dựng" #: build/templates/build/build_base.html:68 msgid "Build actions" -msgstr "" +msgstr "Chức năng bản dựng" #: build/templates/build/build_base.html:72 msgid "Edit Build" -msgstr "" +msgstr "Sửa bản dựng" #: build/templates/build/build_base.html:74 msgid "Cancel Build" -msgstr "" +msgstr "Hủy bản dựng" #: build/templates/build/build_base.html:77 msgid "Duplicate Build" @@ -1711,27 +1712,27 @@ msgstr "Mô tả bản dựng" #: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "Không có đầu ra bản dựng đã được tạo cho đơn đặt bản dựng này" #: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "Đơn đặt bản dựng đã được đánh dấu hoàn thành" #: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "Đơn đặt bản dựng không thể hoàn thiện bởi vì những đầu ra nổi bật còn tồn tại" #: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" #: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựng này" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1748,7 +1749,7 @@ msgstr "Ngày mục tiêu" #: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "Bản dựng đã đến hạn vào %(target)s" #: build/templates/build/build_base.html:166 #: build/templates/build/build_base.html:223 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1781,14 +1782,14 @@ msgstr "Đầu ra hoàn thiện" #: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2895 msgid "Sales Order" -msgstr "" +msgstr "Đơn đặt hàng" #: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "" +msgstr "Phát hành bởi" #: build/templates/build/build_base.html:212 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2138 @@ -1797,29 +1798,29 @@ msgstr "Độ ưu tiên" #: build/templates/build/build_base.html:274 msgid "Delete Build Order" -msgstr "" +msgstr "Xóa đơn đặt bản dựng" #: build/templates/build/build_base.html:284 msgid "Build Order QR Code" -msgstr "" +msgstr "Mã QR đơn đặt bản dựng" #: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Liên kết mã vạch đến Đơn đặt bản dựng này" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "Chi tiết bản dựng" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "Nguồn kho" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "" +msgstr "Kho có thể được lấy từ bất kỳ địa điểm nào." -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "Đích đến" @@ -1830,7 +1831,7 @@ msgstr "Địa điểm đích chưa được xác định" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "Phụ kiện đã phân bổ" #: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 @@ -1868,64 +1869,64 @@ msgstr "Xây dựng chưa hoàn thiện" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "" +msgstr "Đơn đặt bản dựng con" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "" +msgstr "Phân bổ kho đến bản dựng" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Phân kho" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Phân kho" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "Tự động chỉ định kho đến bản dựng" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "" +msgstr "Tự động phân bổ" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "" +msgstr "Chỉ định kho thủ công đến bản dựng" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "" +msgstr "Chỉ định kho" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "" +msgstr "Đơn đặt yêu cầu phụ kiện" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:800 msgid "Order Parts" -msgstr "" +msgstr "Đặt hàng phụ kiện" #: build/templates/build/detail.html:210 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "Đầu ra bản dựng chưa hoàn thành" #: build/templates/build/detail.html:214 msgid "Create new build output" -msgstr "" +msgstr "Tạo đầu ra bản dựng mới" #: build/templates/build/detail.html:215 msgid "New Build Output" -msgstr "" +msgstr "Đầu ra bản dựng mới" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Kho tiêu thụ" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" -msgstr "" +msgstr "Đầu ra bản dựng hoàn thiện" #: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1945,52 +1946,52 @@ msgstr "Tập tin đính kèm" #: build/templates/build/detail.html:271 msgid "Build Notes" -msgstr "" +msgstr "Ghi chép bản dựng" #: build/templates/build/detail.html:422 msgid "Allocation Complete" -msgstr "" +msgstr "Phân bổ hoàn thành" #: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Tất cả đường đã được chỉ định đầy đủ" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "" +msgstr "Tạo đơn đặt bản dựng" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "Chi tiết đơn đặt bản dựng" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "" +msgstr "Đầu ra chưa hoàn thiện" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "Định dạng tệp không được hỗ trợ {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "Lỗi đọc file (mã hóa không hợp lệ)" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "Lỗi đọc file (định dạng không hợp lệ)" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "Lỗi đọc file (kích thước không hợp lệ)" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "Lỗi đọc file (dữ liệu có thể bị hư hại)" #: common/forms.py:13 msgid "File" -msgstr "" +msgstr "Tệp" #: common/forms.py:14 msgid "Select file to upload" @@ -2013,1372 +2014,1372 @@ msgstr "Đã cập nhật" msgid "Timestamp of last update" msgstr "Nhãn thời gian của lần cập cuối cùng" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "Mã dự án duy nhất" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "Mô tả dự án" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường)" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "Giá trị cài đặt" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "Giá trị đã chọn không hợp lệ" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "Giá trị phải là kiểu boolean" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "Giá trị phải là một số nguyên dương" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "Chuỗi khóa phải duy nhất" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "Không có nhóm" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "Tên miền rỗng là không được phép." -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "Tên miền không hợp lệ: {domain}" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" -msgstr "" +msgstr "Không phần mở rộng" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "Cần khởi động lại" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "Một thiết lập đã bị thay đổi yêu cầu khởi động lại máy chủ" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" -msgstr "" +msgstr "Mô tả chuỗi cho thực thể máy chủ" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" -msgstr "" +msgstr "Sử dụng tên thực thể" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "Sử dụng tên thực thể trên thanh tiêu đề" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" -msgstr "" +msgstr "Cấm hiển thị `giới thiệu`" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "Tên công ty" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "Tên công ty nội bộ" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "URL cơ sở" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" -msgstr "" +msgstr "URL cơ sở cho thực thể máy chủ" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "Tiền tệ mặc định" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "Chọn tiền tệ chính khi tính giá" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" -msgstr "" +msgstr "Tần suất cập nhật tiền tệ" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái (điền 0 để tắt)" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "ngày" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" -msgstr "" +msgstr "Phần mở rộng cập nhật tiền tệ" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" -msgstr "" +msgstr "Phần mở rộng cập nhật tiền tệ được sử dụng" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "Tải về từ URL" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "Cho phép tải ảnh và tệp tin từ xa theo URL bên ngoài" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" -msgstr "" +msgstr "Giới hạn kích thước tải xuống" + +#: common/models.py:1144 +msgid "Maximum allowable download size for remote image" +msgstr "Kích thước tải xuống tối đa với hình ảnh từ xa" #: common/models.py:1155 -msgid "Maximum allowable download size for remote image" -msgstr "" - -#: common/models.py:1166 msgid "User-agent used to download from URL" -msgstr "" +msgstr "User-agent được dùng để tải xuống theo URL" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" +msgstr "Cho phép ghi đè user-agent được dùng để tải về hình ảnh và tệp tin từ xa theo URL bên ngoài (để trống nghĩa là dùng mặc định)" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "Yêu cầu xác nhận" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "Yêu cầu người dùng xác nhận rõ ràng với một số chức năng nhất định." -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "Cấp độ cây" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Độ sâu cây mặc định cho màn hình cây. Cấp độ sâu hơn sẽ sử dụng kỹ thuật tải chậm nếu cần thiết." -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "Thời gian kiểm tra bản cập nhật" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "Mức độ thường xuyên để kiểm tra bản cập nhật (điền 0 để tắt)" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "Sao lưu tự động" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "Bật tính năng sao lưu tự động cơ sở dữ liệu và tệp tin đa phương tiện" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "Khoảng thời gian sao lưu tự động" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "Xác định số ngày giữa các kỳ sao lưu tự động" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "Khoảng thời gian xóa tác vụ" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "Kết quả tác vụ chạy ngầm sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "Khoảng thời gian xóa nhật ký lỗi" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "Nhật ký lỗi sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "Khoảng thời gian xóa thông báo" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "Thông báo sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Hỗ trợ mã vạch" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "Bật hỗ trợ máy quét mã vạch trong giao diện web" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "Độ trễ quét mã vạch" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" -msgstr "" +msgstr "Thời gian trễ xử lý đầu đọc mã vạch" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Hỗ trợ mã vạch qua webcam" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Cho phép quét mã vạch qua webcam bên trong trình duyệt" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" -msgstr "" +msgstr "Phiên bản Sản phẩm" + +#: common/models.py:1266 +msgid "Enable revision field for Part" +msgstr "Bật trường phiên bản cho sản phẩm" + +#: common/models.py:1272 +msgid "IPN Regex" +msgstr "Mẫu IPN" + +#: common/models.py:1273 +msgid "Regular expression pattern for matching Part IPN" +msgstr "Mẫu dùng nhanh phổ biến dành cho tìm IPN sản phẩm" #: common/models.py:1277 -msgid "Enable revision field for Part" -msgstr "" +msgid "Allow Duplicate IPN" +msgstr "Cho phép trùng IPN" -#: common/models.py:1283 -msgid "IPN Regex" -msgstr "" +#: common/models.py:1278 +msgid "Allow multiple parts to share the same IPN" +msgstr "Cho phép nhiều sản phẩm dùng IPN giống nhau" #: common/models.py:1284 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1288 -msgid "Allow Duplicate IPN" -msgstr "" - -#: common/models.py:1289 -msgid "Allow multiple parts to share the same IPN" -msgstr "" - -#: common/models.py:1295 msgid "Allow Editing IPN" -msgstr "" +msgstr "Cho phép sửa IPN" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" -msgstr "" +msgstr "Cho phép đổi giá trị IPN khi sửa một sản phẩm" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" -msgstr "" +msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" -msgstr "" +msgstr "Sao chép dữ liệu BOM mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" -msgstr "" +msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" -msgstr "" +msgstr "Sao chép dữ liệu tham số mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" -msgstr "" +msgstr "Sao chép dữ liệu kiểm thử mặc định khi nhân bản 1 sản phẩm" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" -msgstr "" +msgstr "Sao chéo mẫu tham số danh mục" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" -msgstr "" +msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "Mẫu" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" -msgstr "" +msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" -msgstr "" +msgstr "Lắp ráp" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" -msgstr "" +msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "Thành phần" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "Có thể mua" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "Có thể bán" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "Có thể theo dõi" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "Ảo" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" -msgstr "" +msgstr "Hiển thị Nhập liệu trong khung xem" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" -msgstr "" +msgstr "Hiển thị đồ thuật nhập dữ liệu trong một số khung nhìn sản phẩm" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "Biểu tượng mặc định của danh mục sản phẩm" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" -msgstr "" +msgstr "Bắt buộc đơn vị tham số" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" -msgstr "" +msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định" + +#: common/models.py:1417 +msgid "Minimum Pricing Decimal Places" +msgstr "Vị trí phần thập phân giá bán tối thiểu" + +#: common/models.py:1418 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá" #: common/models.py:1428 -msgid "Minimum Pricing Decimal Places" -msgstr "" +msgid "Maximum Pricing Decimal Places" +msgstr "Vị trí phần thập phân giá bán tối đa" #: common/models.py:1429 -msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "" +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá" #: common/models.py:1439 -msgid "Maximum Pricing Decimal Places" -msgstr "" +msgid "Use Supplier Pricing" +msgstr "Sử dụng giá bán nhà cung cấp" #: common/models.py:1440 -msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" - -#: common/models.py:1450 -msgid "Use Supplier Pricing" -msgstr "" - -#: common/models.py:1451 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" +msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" -msgstr "" +msgstr "Ghi đè lịch sử mua hàng" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" +msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" -msgstr "" +msgstr "Sử dụng giá hàng hóa trong kho" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "Bật chức năng in tem nhãn từ giao diện web" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" -msgstr "" +msgstr "Bật quên mật khẩu" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "Yêu cầu người dùng cung cấp email để đăng ký" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" -msgstr "" +msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" -msgstr "" +msgstr "Bật mã dự án" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "Khóa thiết lập (phải duy nhất - phân biệt hoa thường" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "Ẩn phụ kiện ngừng hoạt động" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1951 +#: common/models.py:1939 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:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "Hiển thị hàng hóa còn ít tại trang chủ" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "Hiển thị hàng hóa đã bán hết tại trang chủ" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "Hiện đơn hàng vận chuyển nổi bật tại trang chủ" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "Hiện đơn vận chuyển quá hạn trên trang chủ" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "Hiện đơn vận chuyển chờ xử lý trên trang chủ" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Hiển thị nhãn PDF trong trình duyệt, thay vì tải về dạng tệp tin" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "Cấu hình máy in tem nhãn nào được chọn mặc định" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "Hiện danh mục phụ kiện trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "Hiện hàng hóa ở kho trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "Không bao gồm hàng hóa trong kho mà không sẵn sàng từ màn hình xem trước tìm kiếm" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "Hiện vị trí kho hàng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "Hiện công ty trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "Hiện đơn đặt xây dựng trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "Hiện đơn đặt mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "Loại trừ đơn đặt mua không hoạt động ra khỏi cửa sổ xem trước tìm kiếm" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "Hiện đơn đặt hàng người mua trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "Không bao gồm đơn đặt hàng người mua không hoạt động trong cửa sổ xem trước tìm kiếm" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "Số kết quả cần hiển thị trong từng phần của cửa sổ xem trước tìm kiếm" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "Bật tìm kiếm biểu thức chính quy trong câu truy vấn tìm kiếm" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "Thân" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "Mã" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "Tác giả" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "Đọc" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "Tin này đã được đọc?" msgid "Image" msgstr "Hình ảnh" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "Địa chỉ email liên hệ" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "Công ty này có sản xuất phụ kiện?" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "Tên tham số" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "Giá trị" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "Giá trị tham số" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "Đơn vị" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "Đơn vị tham số" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "Ghi chú" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "Đơn hàng" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Chức năng" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "Nguyên liệu" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "Số hàng tồn" @@ -5613,7 +5616,7 @@ msgstr "Số hàng tồn" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "Sản phẩm này có phải là sản phẩm mẫu?" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "Đây có phải là 1 biến thể của sản phẩm khác?" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong kết quả tìm kiếm" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong k msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "Thời gian hết hạn (theo ngày) để nhập kho hàng hóa cho sản phẩm này" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "Mục BOM" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "Sao chép thông tin tham số từ sản phẩm gốc" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "Kho hàng" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index d84f00189a..cd116a3076 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: 2023-10-11 12:00+0000\n" -"PO-Revision-Date: 2023-10-12 01:02\n" +"POT-Creation-Date: 2023-10-19 12:30+0000\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -17,48 +17,53 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "找不到 API 端點" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "使用者沒有檢視此模型的權限" -#: InvenTree/conversion.py:96 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "未提供值" -#: InvenTree/conversion.py:129 +#: InvenTree/conversion.py:125 #, python-brace-format msgid "Could not convert {original} to {unit}" msgstr "" -#: InvenTree/conversion.py:131 +#: InvenTree/conversion.py:127 msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "詳細的錯誤訊息可以在管理介面中瀏覽" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "輸入日期" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:139 stock/models.py:2286 stock/models.py:2394 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:1039 stock/serializers.py:1138 -#: stock/serializers.py:1299 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1077 #: templates/js/translated/purchase_order.js:2179 @@ -69,12 +74,12 @@ msgstr "輸入日期" msgid "Notes" msgstr "備註" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "值「{name}」並沒有在格式內出現" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "提供的值不符合要求的格式: " @@ -98,99 +103,99 @@ msgstr "確認新密碼" msgid "Old password" msgstr "舊密碼" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "再次輸入Email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Email地址確認" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "您必須輸入相同的Email" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "所提供的主要Email無效。" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "所提供的Email網域尚未被核准。" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "註冊功能已停用。" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "提供的數量無效" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "序號為空白" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "重複的序號" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "無效的群組範圍:{g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "群組範圍 {g} 超過允許的數量({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "無效的群組序列:{g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "找不到序號" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "不重複的序號數量({s})必須和數量({q})相同" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "從這個值中移除HTML標籤" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "連線錯誤" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "伺服器回應了無效的狀態碼" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "發生異常" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "伺服器回應了不正確的Content-Length值。" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "圖片尺寸過大" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "圖片超過最大可下載的尺寸" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "遠端伺服器回傳了空白回應" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "提供的URL不是有效的圖片檔案" @@ -206,64 +211,64 @@ msgstr "[{site.name}] 登入 App" msgid "Email" msgstr "Email" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "Metadata必須是一個Python Dictionary物件" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "外掛程式Metadata" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "外掛程式使用的JSON Metadata欄位" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "格式錯誤" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "指定了不明的格式鍵值" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "缺少必須的格式鍵值" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "參考欄位不能空白" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "參考欄位並須符合格式" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "參考編號過大" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "缺少檔案" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "缺少外部連結" -#: InvenTree/models.py:487 stock/models.py:2388 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "選擇附件" -#: InvenTree/models.py:494 common/models.py:2866 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:138 templates/js/translated/company.js:1309 @@ -277,71 +282,71 @@ msgstr "選擇附件" msgid "Link" msgstr "連結" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:830 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "外部URL連結" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "註解" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "檔案註解" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2325 -#: common/models.py:2326 common/models.py:2539 common/models.py:2540 -#: common/models.py:2796 common/models.py:2797 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:233 plugin/models.py:234 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:3007 msgid "User" msgstr "使用者" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "上傳日期" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "檔名不得空白" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "無效的附件目錄" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "檔名內有不允許的字元 '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "檔案名稱缺少副檔名" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "已有同檔案名稱的附件" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "重新命名時發生錯誤" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "同一個上層元件下不能有重複的名字" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2525 -#: common/models.py:2973 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:172 stock/models.py:71 stock/models.py:72 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -358,17 +363,17 @@ msgstr "無效的選項" msgid "Name" msgstr "名稱" -#: InvenTree/models.py:672 build/models.py:168 -#: build/templates/build/detail.html:24 common/models.py:126 -#: company/models.py:451 company/models.py:730 +#: InvenTree/models.py:656 build/models.py:168 +#: build/templates/build/detail.html:24 common/models.py:125 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:185 -#: report/models.py:617 report/models.py:661 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 @@ -395,126 +400,126 @@ msgstr "名稱" msgid "Description" msgstr "描述" -#: InvenTree/models.py:673 stock/models.py:79 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "上層元素" -#: InvenTree/models.py:688 InvenTree/models.py:689 +#: InvenTree/models.py:672 InvenTree/models.py:673 #: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "路徑" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "Markdown 註記(選填)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "條碼資料" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "第三方條碼資料" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "條碼雜湊值" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "條碼資料的唯一雜湊值" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "發現現有條碼" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "伺服器錯誤" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "伺服器紀錄了一個錯誤。" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" -#: InvenTree/serializers.py:368 +#: InvenTree/serializers.py:364 msgid "Filename" msgstr "檔案名稱" -#: InvenTree/serializers.py:405 +#: InvenTree/serializers.py:401 msgid "Invalid value" msgstr "無效的值" -#: InvenTree/serializers.py:427 +#: InvenTree/serializers.py:423 msgid "Data File" msgstr "資料檔" -#: InvenTree/serializers.py:428 +#: InvenTree/serializers.py:424 msgid "Select data file for upload" msgstr "選擇要上傳的資料檔案" -#: InvenTree/serializers.py:449 +#: InvenTree/serializers.py:445 msgid "Unsupported file type" msgstr "不支援的檔案類型" -#: InvenTree/serializers.py:455 +#: InvenTree/serializers.py:451 msgid "File is too large" msgstr "檔案大小過大" -#: InvenTree/serializers.py:476 +#: InvenTree/serializers.py:472 msgid "No columns found in file" msgstr "檔案中找不到欄位" -#: InvenTree/serializers.py:479 +#: InvenTree/serializers.py:475 msgid "No data rows found in file" msgstr "檔案中找不到資料列" -#: InvenTree/serializers.py:602 +#: InvenTree/serializers.py:598 msgid "No data rows provided" msgstr "沒有提供資料列" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:601 msgid "No data columns supplied" msgstr "沒有提供資料欄位" -#: InvenTree/serializers.py:682 +#: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "找不到必須的欄位: 「{name}」" -#: InvenTree/serializers.py:691 +#: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "重複的欄位:「{col}」" -#: InvenTree/serializers.py:717 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:718 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "遠端圖片的URL" -#: InvenTree/serializers.py:732 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "尚未啟用從遠端URL下載圖片" @@ -634,7 +639,7 @@ msgstr "中文(简体)" msgid "Chinese (Traditional)" msgstr "中文(繁體)" -#: InvenTree/status.py:68 part/serializers.py:1001 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "背景工作程式檢查失敗" @@ -683,7 +688,7 @@ msgstr "已退回" msgid "In Progress" msgstr "進行中" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -842,62 +847,62 @@ msgstr "退款" msgid "Reject" msgstr "拒絕" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "無效的貨幣代碼" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "損失值不能為負" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "損失率不能超過100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "無效的損失值" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "編輯使用者資訊" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "設定密碼" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "密碼必須相符" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "密碼錯誤" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "系統資訊" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "關於InvenTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 #: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "耗材" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 #: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 @@ -906,23 +911,23 @@ msgstr "耗材" msgid "Optional" msgstr "非必須項目" -#: build/api.py:289 templates/js/translated/table_filters.js:408 +#: build/api.py:283 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1725 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 #: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 #: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "已分配" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2546 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/part.js:689 templates/js/translated/part.js:691 @@ -960,9 +965,9 @@ msgstr "無效的上層生產工單選擇" msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1739 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -990,13 +995,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "這張生產工單對應的上層生產工單" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:959 part/serializers.py:1374 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1007,7 +1012,7 @@ msgstr "這張生產工單對應的上層生產工單" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1052,7 +1057,7 @@ msgstr "銷售訂單代號" msgid "SalesOrder to which this build is allocated" msgstr "這張生產工單對應的銷售訂單" -#: build/models.py:207 build/serializers.py:946 +#: build/models.py:207 build/serializers.py:942 #: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" @@ -1094,17 +1099,17 @@ msgstr "生產狀態" msgid "Build status code" msgstr "生產狀態代碼" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:834 stock/serializers.py:1263 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "批量代碼" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "本批次成品的生產批號" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1119,7 +1124,7 @@ msgstr "目標完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" -#: build/models.py:265 order/models.py:422 order/models.py:1782 +#: build/models.py:265 order/models.py:413 order/models.py:1765 #: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "完成日期" @@ -1137,10 +1142,10 @@ msgid "User who issued this build order" msgstr "發布此生產工單的使用者" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2201 @@ -1160,7 +1165,7 @@ msgstr "負責此生產工單的使用者或群組" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:828 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1174,8 +1179,8 @@ msgstr "製造優先度" msgid "Priority of this build order" msgstr "此生產工單的優先程度" -#: build/models.py:309 common/models.py:119 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:309 common/models.py:118 order/admin.py:17 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2126 #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 @@ -1189,48 +1194,48 @@ msgstr "專案代碼" msgid "Project code for this build order" msgstr "此生產工單隸屬的專案代碼" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生產工單 {build} 已經完成" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "尚未指定生產品項" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "生產成品已經完成" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "生產品項與生產工單不符" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1216 part/serializers.py:1537 -#: stock/models.py:688 stock/models.py:1482 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "數量不能大於工單生產數量" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2347 -#: order/models.py:1086 order/models.py:1660 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1240,7 +1245,7 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:121 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 @@ -1272,38 +1277,38 @@ msgstr "" msgid "Quantity" msgstr "數量" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1390 order/models.py:1616 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1396 order/models.py:1619 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:970 -#: stock/serializers.py:1096 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1726 @@ -1318,85 +1323,85 @@ msgstr "選擇的庫存品項和BOM的項目不符" msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "安裝到" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "目的庫存品項" -#: build/serializers.py:156 build/serializers.py:828 +#: build/serializers.py:155 build/serializers.py:824 #: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "產出" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "產出與上層生產工單不符" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "產出零件與生產工單不符" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "此筆產出已完成" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "此筆產出的分配尚未完成" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "輸入產出數量" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "可追蹤的零件數量必須為整數" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "序號" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "輸入產出的序號" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "自動分配序號" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:334 stock/api.py:810 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "必須提供產出清單" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:971 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1131 stock/serializers.py:1402 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 @@ -1413,30 +1418,30 @@ msgstr "必須提供產出清單" msgid "Location" msgstr "地點" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "報廢的庫存位置" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "放棄分配" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1765 order/serializers.py:530 stock/admin.py:124 -#: stock/serializers.py:703 stock/serializers.py:1270 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 @@ -1448,172 +1453,168 @@ msgstr "" msgid "Status" msgstr "狀態" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:983 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "商品必須有庫存" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1730,8 +1731,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1768,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1819,7 +1820,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 +#: build/templates/build/detail.html:49 order/models.py:1220 #: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -2013,1372 +2014,1372 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:120 +#: common/models.py:119 msgid "Unique project code" msgstr "" -#: common/models.py:127 +#: common/models.py:126 msgid "Project description" msgstr "" -#: common/models.py:646 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:648 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:689 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:706 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:717 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:756 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:963 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:988 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:990 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:1003 +#: common/models.py:994 msgid "No plugin" msgstr "" -#: common/models.py:1071 +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:1072 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1079 +#: common/models.py:1068 msgid "Pending migrations" msgstr "" -#: common/models.py:1080 +#: common/models.py:1069 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1086 +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1088 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1093 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1094 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1100 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1101 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1107 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1108 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1113 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1114 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1121 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1122 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1129 +#: common/models.py:1118 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1130 +#: common/models.py:1119 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1132 common/models.py:1196 common/models.py:1214 -#: common/models.py:1221 common/models.py:1232 common/models.py:1243 -#: common/models.py:1474 common/models.py:1498 common/models.py:1617 -#: common/models.py:1873 +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 msgid "days" msgstr "天" -#: common/models.py:1140 +#: common/models.py:1129 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1141 +#: common/models.py:1130 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1147 +#: common/models.py:1136 msgid "Download from URL" msgstr "" -#: common/models.py:1148 +#: common/models.py:1137 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1154 +#: common/models.py:1143 msgid "Download Size Limit" msgstr "" -#: common/models.py:1155 +#: common/models.py:1144 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1166 +#: common/models.py:1155 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1167 +#: common/models.py:1156 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1172 +#: common/models.py:1161 msgid "Require confirm" msgstr "" -#: common/models.py:1173 +#: common/models.py:1162 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1179 +#: common/models.py:1168 msgid "Tree Depth" msgstr "" -#: common/models.py:1180 +#: common/models.py:1169 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1189 +#: common/models.py:1178 msgid "Update Check Interval" msgstr "" -#: common/models.py:1190 +#: common/models.py:1179 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1200 +#: common/models.py:1189 msgid "Automatic Backup" msgstr "自動備份" -#: common/models.py:1201 +#: common/models.py:1190 msgid "Enable automatic backup of database and media files" msgstr "啟動資料庫和媒體文件自動備份" -#: common/models.py:1207 +#: common/models.py:1196 msgid "Auto Backup Interval" msgstr "自動備份間隔" -#: common/models.py:1208 +#: common/models.py:1197 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1218 +#: common/models.py:1207 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1219 +#: common/models.py:1208 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1229 +#: common/models.py:1218 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1230 +#: common/models.py:1219 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1240 +#: common/models.py:1229 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1241 +#: common/models.py:1230 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1251 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1252 +#: common/models.py:1241 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1258 +#: common/models.py:1247 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1259 +#: common/models.py:1248 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1269 +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1270 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1276 +#: common/models.py:1265 msgid "Part Revisions" msgstr "" -#: common/models.py:1277 +#: common/models.py:1266 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1283 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1284 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1288 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1289 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1295 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1296 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1302 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1303 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1309 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1310 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1316 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1317 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1323 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1324 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1330 part/admin.py:55 part/models.py:3621 -#: report/models.py:178 templates/js/translated/table_filters.js:139 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "" -#: common/models.py:1331 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1337 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "" -#: common/models.py:1338 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1344 part/admin.py:52 part/models.py:1007 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 #: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "" -#: common/models.py:1345 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1351 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "" -#: common/models.py:1352 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1358 part/admin.py:54 part/models.py:1023 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 #: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "" -#: common/models.py:1359 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1365 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "" -#: common/models.py:1366 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1372 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "" -#: common/models.py:1373 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1379 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1380 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1386 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1387 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1393 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1394 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1400 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1401 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1408 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1415 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1416 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1421 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1422 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1428 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1429 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1439 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1440 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1450 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1451 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1457 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1458 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1464 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1465 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1471 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1472 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1482 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1483 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1489 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1490 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1496 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1497 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1507 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1508 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1514 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1515 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1521 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1522 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1528 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1529 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1538 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1539 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1545 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1546 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1552 report/models.py:199 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1553 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1559 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1560 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1566 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1567 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1573 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1574 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1580 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1581 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1587 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1588 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1594 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1595 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1600 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1601 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1607 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1608 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1614 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1615 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1622 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1623 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1629 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1630 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1636 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1637 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1642 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1643 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1649 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1650 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1656 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1657 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1663 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1664 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1670 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1671 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1677 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1678 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1684 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1685 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1691 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1692 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1698 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1699 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1705 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1706 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1713 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1714 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1720 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1721 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1727 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1728 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1734 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1735 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1741 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1742 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1748 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1749 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1755 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1756 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1762 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1763 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1769 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1770 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1776 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1777 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1783 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1784 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1790 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1791 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1799 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1800 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1807 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1808 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1815 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1816 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1823 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1824 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1831 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1832 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1839 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1840 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1846 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1847 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1853 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1854 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1860 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1861 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1870 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1871 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1888 common/models.py:2318 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1929 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1930 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1936 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1937 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1943 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1944 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1950 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1951 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1957 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1958 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1964 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1965 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1971 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1972 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1978 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1979 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1985 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1986 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1992 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1993 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1999 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:2000 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2006 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:2007 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2013 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:2014 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2020 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2021 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2027 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:2028 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2034 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2035 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2041 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2042 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2048 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2049 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2055 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:2056 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2062 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:2063 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2069 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:2070 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2076 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:2077 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2083 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:2084 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2090 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2091 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2097 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2098 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2104 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2105 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2111 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2112 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2118 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2119 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2125 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2126 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2132 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2133 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2139 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2140 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2146 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2147 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2153 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2154 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2160 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2161 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2167 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2168 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2174 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2175 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2181 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2182 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2188 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2189 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2195 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2196 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2202 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2203 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2209 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2210 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2216 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2217 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2223 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2224 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2230 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2231 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2237 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2238 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2252 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2253 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2259 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2260 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2266 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2267 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2276 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2277 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2285 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2286 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2294 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2295 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2303 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2304 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2348 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2355 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1954 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 #: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2356 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2516 common/models.py:2694 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2517 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2526 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2531 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 #: templates/js/translated/table_filters.js:488 @@ -3387,101 +3388,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2532 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2546 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2547 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2554 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2555 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2661 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2662 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2670 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2671 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2678 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2679 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2685 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2686 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2695 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2700 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2701 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2855 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2861 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2871 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2876 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2881 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2886 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2887 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2907 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3491,56 +3492,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2908 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2952 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2974 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2980 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2981 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2987 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2988 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3571,7 +3572,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3613,7 +3614,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3655,113 +3656,113 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:770 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:439 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 @@ -3771,12 +3772,12 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:445 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 @@ -3786,69 +3787,71 @@ msgstr "" msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2381 templates/js/translated/company.js:1156 +#: stock/models.py:2348 templates/js/translated/company.js:1156 #: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 #: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 #: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:428 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 plugin/builtin/suppliers/digikey.py:29 +#: plugin/builtin/suppliers/lcsc.py:30 plugin/builtin/suppliers/mouser.py:29 +#: plugin/builtin/suppliers/tme.py:30 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 @@ -3859,12 +3862,12 @@ msgstr "" msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:434 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 #: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1829 @@ -3872,54 +3875,54 @@ msgstr "" msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:434 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:137 stock/models.py:796 stock/serializers.py:1278 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 #: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 +#: company/models.py:741 templates/js/translated/company.js:1641 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 @@ -3929,27 +3932,27 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4011,10 +4014,10 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1753 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:815 -#: stock/models.py:816 stock/serializers.py:1025 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 @@ -4029,7 +4032,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4193,7 +4196,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4224,7 +4227,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4274,7 +4277,7 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:779 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 @@ -4364,10 +4367,10 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:48 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 @@ -4381,28 +4384,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4422,7 +4425,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:314 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4446,7 +4449,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:307 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4460,8 +4463,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:335 report/models.py:482 -#: report/models.py:520 report/models.py:558 report/models.py:682 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4478,7 +4481,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4487,11 +4490,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4505,7 +4508,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1924 order/models.py:1970 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4514,192 +4517,192 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 +#: order/models.py:395 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1776 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1777 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1783 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1770 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1771 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1923 -#: order/models.py:1970 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 +#: order/models.py:1201 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 #: templates/js/translated/purchase_order.js:2148 @@ -4709,342 +4712,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:918 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1642 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:446 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1607 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1609 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1612 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1622 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1625 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1626 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1634 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1643 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1656 order/models.py:1931 +#: order/models.py:1640 order/models.py:1910 #: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1657 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1660 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1740 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1754 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1765 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1916 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1932 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1937 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1938 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1949 templates/js/translated/return_order.js:730 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1949 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1955 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5401,7 +5404,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5431,47 +5434,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 #: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 #: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 #: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:191 templates/js/translated/part.js:1228 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 #: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5479,11 +5482,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5493,8 +5496,8 @@ msgstr "" msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2597 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 #: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" @@ -5509,28 +5512,28 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:966 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:976 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:43 stock/admin.py:134 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:44 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:337 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5541,70 +5544,70 @@ msgstr "" msgid "Parts" msgstr "零件" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5613,7 +5616,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5659,62 +5662,62 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:350 part/serializers.py:965 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 @@ -5722,249 +5725,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 #: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5976,398 +5979,398 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:509 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:516 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2863 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2872 +#: part/models.py:3311 templates/js/translated/part.js:2872 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2880 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2887 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1624 +#: part/models.py:3445 templates/js/translated/part.js:1624 #: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1633 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:672 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:171 part/serializers.py:194 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:351 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:382 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:392 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:412 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:418 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:439 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" @@ -6375,190 +6378,190 @@ msgstr "" msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:460 +#: part/serializers.py:459 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:472 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:480 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:733 part/templates/part/copy_part.html:9 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:733 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:738 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:738 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:743 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:750 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:977 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:997 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1088 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1384 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1396 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1443 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1473 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1516 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1519 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1522 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1539 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1560 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1063 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 #: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:291 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:292 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6774,7 +6777,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6958,7 +6961,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7216,11 +7219,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7258,19 +7261,20 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:56 plugin/base/barcodes/api.py:111 +#: plugin/base/barcodes/api.py:269 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:80 +#: plugin/base/barcodes/api.py:82 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:84 +#: plugin/base/barcodes/api.py:86 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 +#: plugin/base/barcodes/api.py:121 #: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" @@ -7279,6 +7283,52 @@ msgstr "" msgid "No match found for provided value" msgstr "" +#: plugin/base/barcodes/api.py:275 +msgid "Invalid purchase order" +msgstr "" + +#: plugin/base/barcodes/api.py:281 +msgid "Invalid stock location" +msgstr "" + +#: plugin/base/barcodes/api.py:292 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Invalid supplier barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:170 +msgid "Supplier barcode doesn't contain order number" +msgstr "" + +#: plugin/base/barcodes/mixins.py:183 +#, python-brace-format +msgid "Found multiple placed purchase orders for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:185 +#, python-brace-format +msgid "Failed to find placed purchase order for '{order_number}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:215 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:248 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:259 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:301 plugin/base/barcodes/mixins.py:324 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + #: plugin/base/label/label.py:40 msgid "Label printing failed" msgstr "" @@ -7295,6 +7345,8 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:34 #: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/suppliers/digikey.py:24 plugin/builtin/suppliers/lcsc.py:25 +#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:25 msgid "InvenTree contributors" msgstr "" @@ -7332,7 +7384,7 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" @@ -7360,20 +7412,68 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" -#: plugin/installer.py:145 +#: plugin/builtin/suppliers/digikey.py:21 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:22 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:30 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:22 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:23 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:31 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:21 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:22 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:30 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:22 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:23 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:31 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:140 msgid "Permission denied: only staff users can install plugins" msgstr "" -#: plugin/installer.py:191 +#: plugin/installer.py:186 msgid "Installed plugin successfully" msgstr "" -#: plugin/installer.py:197 +#: plugin/installer.py:192 #, python-brace-format msgid "Installed plugin into {path}" msgstr "" -#: plugin/installer.py:206 +#: plugin/installer.py:201 msgid "Plugin installation failed" msgstr "" @@ -7401,43 +7501,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:130 templates/js/translated/table_filters.js:370 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:500 msgid "Installed" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:149 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:175 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:226 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:509 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:511 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:513 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7514,31 +7614,35 @@ msgstr "" msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:142 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:143 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/helpers.py:14 +#: report/helpers.py:13 msgid "A4" msgstr "" +#: report/helpers.py:14 +msgid "A3" +msgstr "" + #: report/helpers.py:15 msgid "Legal" msgstr "" @@ -7547,107 +7651,107 @@ msgstr "" msgid "Letter" msgstr "" -#: report/models.py:173 +#: report/models.py:171 msgid "Template name" msgstr "" -#: report/models.py:179 +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:186 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:192 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:200 +#: report/models.py:198 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:205 +#: report/models.py:203 msgid "Landscape" msgstr "" -#: report/models.py:206 +#: report/models.py:204 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:308 +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:315 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:336 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:344 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:345 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:406 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:448 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:449 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:483 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:521 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:559 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:612 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:613 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:617 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:654 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:655 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:662 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:683 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7688,7 +7792,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:820 stock/templates/stock/item_base.html:312 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 #: templates/js/translated/build.js:2337 #: templates/js/translated/model_renderers.js:222 @@ -7714,12 +7818,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2369 templates/js/translated/stock.js:1475 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2375 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7787,7 +7891,7 @@ msgstr "" msgid "Customer ID" msgstr "" -#: stock/admin.py:132 stock/models.py:803 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" @@ -7812,33 +7916,33 @@ msgstr "" msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:149 stock/models.py:884 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 #: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:508 templates/js/translated/table_filters.js:427 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:715 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:722 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:750 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:759 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:782 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7854,7 +7958,7 @@ msgstr "" msgid "Default icon for all locations that have no icon set (optional)" msgstr "" -#: stock/models.py:116 stock/models.py:787 +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" @@ -7866,12 +7970,12 @@ msgstr "" msgid "Stock Locations" msgstr "" -#: stock/models.py:181 stock/models.py:923 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:182 stock/models.py:924 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" @@ -7901,221 +8005,221 @@ msgstr "" msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:652 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:678 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:695 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:705 stock/models.py:714 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:706 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:728 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:734 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:748 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:762 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:772 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:780 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:790 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:797 stock/serializers.py:1279 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:806 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:822 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:836 stock/serializers.py:1264 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:841 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:848 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:850 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:856 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:858 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:869 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:872 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:878 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:885 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:900 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:919 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:947 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1491 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1498 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1569 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1572 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1575 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1578 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1581 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1584 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1591 stock/serializers.py:1175 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1595 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1599 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1603 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2351 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2370 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2376 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2382 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2389 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2395 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8127,141 +8231,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1132 stock/serializers.py:1403 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:987 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:991 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:995 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1026 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1032 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1040 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1050 stock/serializers.py:1310 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1139 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1144 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1145 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1150 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1151 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1161 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1250 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1271 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1300 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -9801,7 +9905,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2541 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -10178,74 +10282,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2579 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2583 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2585 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 #: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2570 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2470 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index f003012549..97120fe042 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-29 21:02+0000\n" +"POT-Creation-Date: 2023-10-18 03:46+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -17,75 +17,74 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:93 +#: InvenTree/conversion.py:92 #, fuzzy #| msgid "No value set" msgid "No value provided" msgstr "未设置值" -#: InvenTree/conversion.py:115 -#, fuzzy -#| msgid "Chosen value is not a valid option" -msgid "Provided value is not a valid number" -msgstr "选择的值不是一个有效的选项" - -#: InvenTree/conversion.py:117 -msgid "Provided value has an invalid unit" -msgstr "" - -#: InvenTree/conversion.py:122 -msgid "Provided value could not be converted to the specified unit" +#: InvenTree/conversion.py:125 +#, python-brace-format +msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:127 -msgid "Error" -msgstr "" +#, fuzzy +#| msgid "Invalid quantity provided" +msgid "Invalid quantity supplied" +msgstr "提供的数量无效" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, fuzzy, python-brace-format +#| msgid "Invalid quantity provided" +msgid "Invalid quantity supplied ({exc})" +msgstr "提供的数量无效" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2191 stock/models.py:2299 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:999 stock/serializers.py:1098 -#: stock/serializers.py:1259 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1061 -#: templates/js/translated/purchase_order.js:2175 -#: templates/js/translated/return_order.js:769 +#: templates/js/translated/part.js:1077 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/sales_order.js:1979 -#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" msgstr "备注" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "值 '{name}' 没有以模式格式显示" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配: " @@ -109,99 +108,99 @@ msgstr "确认新密码" msgid "Old password" msgstr "旧密码" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "Email (再次)" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "Email 地址确认" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "所提供的主要电子邮件地址无效。" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "重复的序列号" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "无效的组范围: {g}" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "组 {g} 超出了允许的数量 ({q})" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "无效的组序列: {g}" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "连接错误" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "服务器响应状态码无效" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "发生异常" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "服务器响应的内容长度值无效" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "图片尺寸过大" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "图像下载超过最大尺寸" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "远程服务器返回了空响应" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -217,250 +216,254 @@ msgstr "" msgid "Email" msgstr "电子邮件" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "格式不正确" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "指定了未知格式密钥" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "缺少必需的格式密钥" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "引用字段不能为空" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "引用必须匹配所需的图案" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "参考编号过大" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "缺少文件" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:487 stock/models.py:2293 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:494 common/models.py:2770 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:1309 +#: stock/admin.py:138 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2430 -#: templates/js/translated/purchase_order.js:2015 -#: templates/js/translated/purchase_order.js:2179 -#: templates/js/translated/return_order.js:773 +#: templates/js/translated/part.js:2451 +#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:2183 +#: templates/js/translated/return_order.js:777 #: templates/js/translated/sales_order.js:1053 #: templates/js/translated/sales_order.js:1984 msgid "Link" msgstr "链接" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:735 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "链接到外部 URL" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2229 -#: common/models.py:2230 common/models.py:2443 common/models.py:2444 -#: common/models.py:2700 common/models.py:2701 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:224 plugin/models.py:225 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3007 msgid "User" msgstr "用户" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "文件名不能为空!" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "非法的附件目录" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "文件名包含非法字符 '{c}'" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "缺少文件名扩展" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "使用此文件名的附件已存在" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "重命名文件出错" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2429 -#: common/models.py:2877 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:164 templates/InvenTree/settings/mixins/urls.html:13 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:426 #: templates/js/translated/company.js:666 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:903 #: templates/js/translated/company.js:1155 -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1167 -#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1591 -#: templates/js/translated/part.js:2723 templates/js/translated/stock.js:2649 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1183 +#: templates/js/translated/part.js:1471 templates/js/translated/part.js:1607 +#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2687 msgid "Name" msgstr "名称" -#: InvenTree/models.py:672 build/models.py:168 +#: InvenTree/models.py:656 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:125 -#: company/models.py:451 company/models.py:730 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:177 -#: report/models.py:580 report/models.py:624 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:124 +#: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:151 +#: templates/InvenTree/settings/settings_staff_js.html:431 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2109 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2121 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1219 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:1602 -#: templates/js/translated/part.js:1937 templates/js/translated/part.js:2329 -#: templates/js/translated/part.js:2759 templates/js/translated/part.js:2847 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1824 -#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1953 templates/js/translated/part.js:2350 +#: templates/js/translated/part.js:2780 templates/js/translated/part.js:2868 +#: templates/js/translated/plugin.js:79 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2001 #: templates/js/translated/return_order.js:311 #: templates/js/translated/sales_order.js:799 #: templates/js/translated/sales_order.js:1809 -#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2681 templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:673 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "上级项" -#: InvenTree/models.py:688 InvenTree/models.py:689 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2690 +#: InvenTree/models.py:672 InvenTree/models.py:673 +#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "路径" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 #, fuzzy #| msgid "Add transaction note (optional)" msgid "Markdown notes (optional)" msgstr "添加交易备注 (可选)" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "条码数据" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "条码哈希" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" @@ -514,138 +517,138 @@ msgstr "缺少必需的列:'{name}'" msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:713 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:714 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "远程图像文件的 URL" -#: InvenTree/serializers.py:728 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:756 +#: InvenTree/settings.py:814 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:757 +#: InvenTree/settings.py:815 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:758 +#: InvenTree/settings.py:816 msgid "German" msgstr "德语" -#: InvenTree/settings.py:759 +#: InvenTree/settings.py:817 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:760 +#: InvenTree/settings.py:818 msgid "English" msgstr "英语" -#: InvenTree/settings.py:761 +#: InvenTree/settings.py:819 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:762 +#: InvenTree/settings.py:820 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:763 +#: InvenTree/settings.py:821 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:764 +#: InvenTree/settings.py:822 #, fuzzy #| msgid "Danish" msgid "Finnish" msgstr "丹麦语" -#: InvenTree/settings.py:765 +#: InvenTree/settings.py:823 msgid "French" msgstr "法语" -#: InvenTree/settings.py:766 +#: InvenTree/settings.py:824 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:767 +#: InvenTree/settings.py:825 msgid "Hindi" msgstr "" -#: InvenTree/settings.py:768 +#: InvenTree/settings.py:826 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:769 +#: InvenTree/settings.py:827 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:770 +#: InvenTree/settings.py:828 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:771 +#: InvenTree/settings.py:829 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:772 +#: InvenTree/settings.py:830 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:773 +#: InvenTree/settings.py:831 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:774 +#: InvenTree/settings.py:832 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:775 +#: InvenTree/settings.py:833 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:776 +#: InvenTree/settings.py:834 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:777 +#: InvenTree/settings.py:835 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:778 +#: InvenTree/settings.py:836 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:779 +#: InvenTree/settings.py:837 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:780 +#: InvenTree/settings.py:838 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:781 +#: InvenTree/settings.py:839 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:782 +#: InvenTree/settings.py:840 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:783 +#: InvenTree/settings.py:841 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/settings.py:784 +#: InvenTree/settings.py:842 msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1000 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -660,7 +663,7 @@ msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:558 +#: templates/js/translated/table_filters.js:594 msgid "Pending" msgstr "待定" @@ -694,7 +697,7 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -729,7 +732,7 @@ msgstr "隔离" msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "库存项已创建" @@ -787,7 +790,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" msgstr "合并的库存项目" @@ -809,7 +812,7 @@ msgstr "生产订单输出已完成" msgid "Build order output rejected" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" msgstr "被生产订单消耗" @@ -831,7 +834,7 @@ msgstr "收到定购单" msgid "Returned against Return Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:351 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "发送给客户" @@ -869,95 +872,95 @@ msgstr "" msgid "Reject" msgstr "已拒绝" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 #, fuzzy #| msgid "Invalid value" msgid "Invalid physical unit" msgstr "无效值" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "不是有效的货币代码" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "备损值不能为负数" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "备损不能超过 100%" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "无效的备损值" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2493 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 -#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2502 +#: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 -#: templates/js/translated/table_filters.js:547 +#: templates/js/translated/table_filters.js:583 msgid "Optional" msgstr "可选项" -#: build/api.py:289 templates/js/translated/table_filters.js:384 -#: templates/js/translated/table_filters.js:539 +#: build/api.py:283 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1717 -#: templates/js/translated/build.js:2593 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 +#: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 -#: templates/js/translated/table_filters.js:531 +#: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2534 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:223 -#: templates/js/translated/part.js:673 templates/js/translated/part.js:675 -#: templates/js/translated/part.js:680 -#: templates/js/translated/table_filters.js:316 -#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/part.js:689 templates/js/translated/part.js:691 +#: templates/js/translated/part.js:696 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:571 msgid "Available" msgstr "空闲" @@ -966,7 +969,7 @@ msgstr "空闲" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2814 +#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" msgstr "生产订单" @@ -989,18 +992,18 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2485 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2497 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2040 -#: templates/js/translated/return_order.js:722 +#: templates/js/translated/purchase_order.js:2044 +#: templates/js/translated/return_order.js:726 #: templates/js/translated/sales_order.js:1815 msgid "Reference" msgstr "引用" @@ -1021,13 +1024,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:958 part/serializers.py:1373 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1038,7 +1041,7 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1046,28 +1049,28 @@ msgstr "此次生产匹配的订单" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1716 -#: templates/js/translated/build.js:2132 templates/js/translated/build.js:2305 +#: templates/js/translated/build.js:1293 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2144 templates/js/translated/build.js:2317 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1922 templates/js/translated/part.js:1994 -#: templates/js/translated/part.js:2298 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1938 templates/js/translated/part.js:2010 +#: templates/js/translated/part.js:2319 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1823 -#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:1986 #: templates/js/translated/return_order.js:536 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/return_order.js:707 #: templates/js/translated/sales_order.js:297 #: templates/js/translated/sales_order.js:1194 #: templates/js/translated/sales_order.js:1595 #: templates/js/translated/sales_order.js:1793 -#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 -#: templates/js/translated/stock.js:2779 templates/js/translated/stock.js:3012 -#: templates/js/translated/stock.js:3149 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 +#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3202 msgid "Part" msgstr "商品" @@ -1083,8 +1086,8 @@ msgstr "相关销售订单" msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1704 +#: build/models.py:207 build/serializers.py:942 +#: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "来源地点" @@ -1125,17 +1128,17 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:739 stock/serializers.py:1223 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1150,8 +1153,8 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2217 +#: build/models.py:265 order/models.py:413 order/models.py:1765 +#: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "完成日期:" @@ -1159,7 +1162,7 @@ msgstr "完成日期:" msgid "completed by" msgstr "完成人" -#: build/models.py:279 templates/js/translated/build.js:2177 +#: build/models.py:279 templates/js/translated/build.js:2189 msgid "Issued by" msgstr "发布者" @@ -1168,16 +1171,16 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2189 -#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/purchase_order.js:1742 #: templates/js/translated/return_order.js:356 -#: templates/js/translated/table_filters.js:491 +#: templates/js/translated/table_filters.js:527 msgid "Responsible" msgstr "责任人" @@ -1191,7 +1194,7 @@ msgstr "构建此订单的用户或组" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:733 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1206,9 +1209,9 @@ msgid "Priority of this build order" msgstr "此构建订单的优先级" #: build/models.py:309 common/models.py:118 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2114 -#: templates/js/translated/purchase_order.js:1685 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2126 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 #: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:48 @@ -1224,52 +1227,52 @@ msgstr "商品二维码" msgid "Project code for this build order" msgstr "此构建订单的优先级" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1215 part/serializers.py:1536 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:1274 +#: build/models.py:1259 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2251 -#: order/models.py:1086 order/models.py:1658 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,394 +1282,390 @@ msgstr "生产备注" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1342 -#: templates/js/translated/build.js:1719 templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:726 templates/js/translated/build.js:1350 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2339 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:225 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:942 -#: templates/js/translated/part.js:1792 templates/js/translated/part.js:3284 +#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:958 +#: templates/js/translated/part.js:1808 templates/js/translated/part.js:3305 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2046 +#: templates/js/translated/purchase_order.js:1831 +#: templates/js/translated/purchase_order.js:2050 #: templates/js/translated/sales_order.js:314 #: templates/js/translated/sales_order.js:1196 #: templates/js/translated/sales_order.js:1515 #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1695 #: templates/js/translated/sales_order.js:1821 -#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2943 -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 +#: templates/js/translated/stock.js:3073 msgid "Quantity" msgstr "数量" -#: build/models.py:1289 +#: build/models.py:1274 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1390 order/models.py:1614 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1396 order/models.py:1617 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1463 +#: build/models.py:1446 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:930 -#: stock/serializers.py:1056 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1718 +#: templates/js/translated/build.js:1726 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1195 #: templates/js/translated/sales_order.js:1496 #: templates/js/translated/sales_order.js:1501 #: templates/js/translated/sales_order.js:1602 #: templates/js/translated/sales_order.js:1689 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2948 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "安装到" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1295 +#: build/serializers.py:155 build/serializers.py:824 +#: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 -#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:334 stock/api.py:736 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:970 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1091 stock/serializers.py:1362 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2342 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 +#: templates/js/translated/build.js:2354 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1508 #: templates/js/translated/sales_order.js:1616 #: templates/js/translated/sales_order.js:1624 #: templates/js/translated/sales_order.js:1703 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2133 -#: templates/js/translated/stock.js:2793 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2842 msgid "Location" msgstr "地点" -#: build/serializers.py:424 +#: build/serializers.py:422 #, fuzzy #| msgid "Stock item created" msgid "Stock location for scrapped outputs" msgstr "库存项已创建" -#: build/serializers.py:430 +#: build/serializers.py:428 #, fuzzy #| msgid "Stock Locations" msgid "Discard Allocations" msgstr "仓储地点" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 #, fuzzy #| msgid "Location for completed build outputs" msgid "Reason for scrapping build output(s)" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 -#: stock/serializers.py:703 stock/serializers.py:1230 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2161 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 -#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/purchase_order.js:1701 #: templates/js/translated/return_order.js:328 #: templates/js/translated/sales_order.js:816 -#: templates/js/translated/stock.js:2108 templates/js/translated/stock.js:2917 -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 +#: templates/js/translated/stock.js:3089 msgid "Status" msgstr "状态" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:722 +#: build/serializers.py:718 #, fuzzy #| msgid "Build actions" msgid "Build Line" msgstr "生产操作" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:776 +#: build/serializers.py:772 #, fuzzy #| msgid "Delete parameters" msgid "Build Line Item" msgstr "删除参数" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:805 stock/serializers.py:943 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "此库存项已被分配至此生产产出" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "生产订单所需的库存" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "超时构建顺序" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "生成订单 {bo} 现在已过期" @@ -1785,16 +1784,16 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2209 templates/js/translated/part.js:1810 -#: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/build.js:2221 templates/js/translated/part.js:1826 +#: templates/js/translated/purchase_order.js:1718 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/return_order.js:344 -#: templates/js/translated/return_order.js:744 +#: templates/js/translated/return_order.js:748 #: templates/js/translated/sales_order.js:832 #: templates/js/translated/sales_order.js:1864 msgid "Target Date" @@ -1811,9 +1810,9 @@ msgstr "此次生产的截止日期为 %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:484 -#: templates/js/translated/table_filters.js:586 -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:663 msgid "Overdue" msgstr "逾期" @@ -1823,8 +1822,8 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1834,7 +1833,7 @@ msgstr "已完成输出" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:766 #: templates/js/translated/sales_order.js:989 -#: templates/js/translated/stock.js:2846 +#: templates/js/translated/stock.js:2895 msgid "Sales Order" msgstr "销售订单" @@ -1846,7 +1845,7 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2126 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2138 msgid "Priority" msgstr "优先级" @@ -1878,8 +1877,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2164 +#: build/templates/build/detail.html:49 order/models.py:1220 +#: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "目的地" @@ -1891,15 +1890,15 @@ msgstr "目标位置未指定" msgid "Allocated Parts" msgstr "已分配的部件" -#: build/templates/build/detail.html:80 stock/admin.py:105 +#: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1353 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/build.js:1361 +#: templates/js/translated/model_renderers.js:233 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2122 -#: templates/js/translated/stock.js:3047 -#: templates/js/translated/table_filters.js:289 -#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:3096 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 msgid "Batch" msgstr "批量" @@ -1907,7 +1906,7 @@ msgstr "批量" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2169 +#: templates/js/translated/build.js:2181 msgid "Created" msgstr "已创建" @@ -1917,7 +1916,7 @@ msgstr "无预计日期" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:685 msgid "Completed" msgstr "已完成" @@ -2073,11 +2072,11 @@ msgstr "{name.title()} 文件" msgid "Select {name} file to upload" msgstr "选择 {name} 文件上传" -#: common/models.py:70 +#: common/models.py:71 msgid "Updated" msgstr "已更新" -#: common/models.py:71 +#: common/models.py:72 msgid "Timestamp of last update" msgstr "最后一次更新时间" @@ -2091,1472 +2090,1507 @@ msgstr "" msgid "Project description" msgstr "商品描述" -#: common/models.py:595 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "设置键值(必须是唯一的 - 大小写不敏感)" -#: common/models.py:597 +#: common/models.py:642 msgid "Settings value" msgstr "设定值" -#: common/models.py:638 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "选择的值不是一个有效的选项" -#: common/models.py:655 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "值必须是布尔量" -#: common/models.py:666 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "值必须为整数" -#: common/models.py:705 +#: common/models.py:750 msgid "Key string must be unique" msgstr "关键字必须是唯一的" -#: common/models.py:912 +#: common/models.py:955 msgid "No group" msgstr "无群组" -#: common/models.py:937 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "不允许空域。" -#: common/models.py:939 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "无效的域名: {domain}" -#: common/models.py:996 +#: common/models.py:994 +#, fuzzy +#| msgid "Subcategories" +msgid "No plugin" +msgstr "子类别" + +#: common/models.py:1060 msgid "Restart required" msgstr "需要重启" -#: common/models.py:997 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/models.py:1004 +#: common/models.py:1068 +#, fuzzy +#| msgid "Printing Actions" +msgid "Pending migrations" +msgstr "打印操作" + +#: common/models.py:1069 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1075 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/models.py:1006 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1011 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1012 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1018 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1019 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1025 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "公司名称" -#: common/models.py:1026 +#: common/models.py:1097 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:1031 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1032 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1039 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1040 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1047 -msgid "Download from URL" -msgstr "" - -#: common/models.py:1048 -msgid "Allow download of remote images and files from external URL" -msgstr "" - -#: common/models.py:1054 -msgid "Download Size Limit" -msgstr "" - -#: common/models.py:1055 -msgid "Maximum allowable download size for remote image" -msgstr "" - -#: common/models.py:1066 -msgid "User-agent used to download from URL" -msgstr "" - -#: common/models.py:1067 -msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" - -#: common/models.py:1072 -msgid "Require confirm" -msgstr "" - -#: common/models.py:1073 -msgid "Require explicit user confirmation for certain action." -msgstr "" - -#: common/models.py:1079 -msgid "Tree Depth" -msgstr "" - -#: common/models.py:1080 -msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" - -#: common/models.py:1089 -msgid "Update Check Interval" -msgstr "" - -#: common/models.py:1090 -msgid "How often to check for updates (set to zero to disable)" -msgstr "" - -#: common/models.py:1096 common/models.py:1114 common/models.py:1121 -#: common/models.py:1132 common/models.py:1143 common/models.py:1374 -#: common/models.py:1398 common/models.py:1521 common/models.py:1777 -msgid "days" -msgstr "天" - -#: common/models.py:1100 -msgid "Automatic Backup" -msgstr "" - -#: common/models.py:1101 -msgid "Enable automatic backup of database and media files" -msgstr "" - -#: common/models.py:1107 -msgid "Auto Backup Interval" -msgstr "" - -#: common/models.py:1108 -msgid "Specify number of days between automated backup events" -msgstr "" - #: common/models.py:1118 -msgid "Task Deletion Interval" +msgid "Currency Update Interval" msgstr "" #: common/models.py:1119 -msgid "Background task results will be deleted after specified number of days" +msgid "How often to update exchange rates (set to zero to disable)" msgstr "" +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 +msgid "days" +msgstr "天" + #: common/models.py:1129 -msgid "Error Log Deletion Interval" +msgid "Currency Update Plugin" msgstr "" #: common/models.py:1130 -msgid "Error logs will be deleted after specified number of days" +msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1140 -msgid "Notification Deletion Interval" +#: common/models.py:1136 +msgid "Download from URL" msgstr "" -#: common/models.py:1141 -msgid "User notifications will be deleted after specified number of days" +#: common/models.py:1137 +msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1151 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" +#: common/models.py:1143 +msgid "Download Size Limit" msgstr "" -#: common/models.py:1152 -msgid "Enable barcode scanner support" -msgstr "启用条形码扫描支持" - -#: common/models.py:1158 -msgid "Barcode Input Delay" +#: common/models.py:1144 +msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1159 -msgid "Barcode input processing delay time" +#: common/models.py:1155 +msgid "User-agent used to download from URL" +msgstr "" + +#: common/models.py:1156 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1161 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1162 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1168 +msgid "Tree Depth" msgstr "" #: common/models.py:1169 +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." +msgstr "" + +#: common/models.py:1178 +msgid "Update Check Interval" +msgstr "" + +#: common/models.py:1179 +msgid "How often to check for updates (set to zero to disable)" +msgstr "" + +#: common/models.py:1189 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1190 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1196 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1197 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1207 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1208 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1218 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1219 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1229 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1230 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1241 +#, fuzzy +#| msgid "Enable barcode scanner support" +msgid "Enable barcode scanner support in the web interface" +msgstr "启用条形码扫描支持" + +#: common/models.py:1247 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1248 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1258 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1170 +#: common/models.py:1259 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1176 +#: common/models.py:1265 #, fuzzy #| msgid "Part description" msgid "Part Revisions" msgstr "商品描述" -#: common/models.py:1177 +#: common/models.py:1266 #, fuzzy #| msgid "Enable internal prices for parts" msgid "Enable revision field for Part" msgstr "启用内部商品价格" -#: common/models.py:1183 +#: common/models.py:1272 msgid "IPN Regex" msgstr "" -#: common/models.py:1184 +#: common/models.py:1273 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1188 +#: common/models.py:1277 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1189 +#: common/models.py:1278 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1195 +#: common/models.py:1284 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1196 +#: common/models.py:1285 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1202 +#: common/models.py:1291 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1203 +#: common/models.py:1292 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1209 +#: common/models.py:1298 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1210 +#: common/models.py:1299 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1216 +#: common/models.py:1305 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1217 +#: common/models.py:1306 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1223 +#: common/models.py:1312 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1224 +#: common/models.py:1313 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1230 part/admin.py:55 part/models.py:3621 -#: report/models.py:170 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:727 +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:763 msgid "Template" msgstr "模板" -#: common/models.py:1231 +#: common/models.py:1320 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1237 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 -#: templates/js/translated/table_filters.js:306 -#: templates/js/translated/table_filters.js:681 +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:717 msgid "Assembly" msgstr "组装" -#: common/models.py:1238 +#: common/models.py:1327 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1244 part/admin.py:52 part/models.py:1007 -#: templates/js/translated/table_filters.js:689 +#: common/models.py:1333 part/admin.py:52 part/models.py:999 +#: templates/js/translated/table_filters.js:725 msgid "Component" msgstr "组件" -#: common/models.py:1245 +#: common/models.py:1334 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1251 part/admin.py:53 part/models.py:1018 +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1252 +#: common/models.py:1341 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1258 part/admin.py:54 part/models.py:1023 -#: templates/js/translated/table_filters.js:715 +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 +#: templates/js/translated/table_filters.js:751 msgid "Salable" msgstr "可销售" -#: common/models.py:1259 +#: common/models.py:1348 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1265 part/admin.py:56 part/models.py:1013 +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 #: templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:767 msgid "Trackable" msgstr "可追踪" -#: common/models.py:1266 +#: common/models.py:1355 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1272 part/admin.py:57 part/models.py:1033 +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:735 +#: templates/js/translated/table_filters.js:771 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1273 +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1279 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1280 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1286 +#: common/models.py:1375 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1287 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1293 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1294 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1300 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1301 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1307 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1308 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1315 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1316 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1321 +#: common/models.py:1410 #, fuzzy #| msgid "Parameter units" msgid "Enforce Parameter Units" msgstr "参数单位" -#: common/models.py:1322 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1328 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1329 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1339 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1340 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1350 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1351 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1357 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1358 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1364 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1365 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1371 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1372 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1382 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1383 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1389 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1390 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1396 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1397 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1407 +#: common/models.py:1496 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1408 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1414 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1415 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1421 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1422 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1428 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1429 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1438 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1439 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1445 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1446 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1452 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1453 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1463 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1464 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1470 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1471 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1477 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1478 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1484 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1485 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1491 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1492 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1498 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1499 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1504 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1505 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1511 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1512 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1518 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1519 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1526 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1527 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1533 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1534 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1540 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1541 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1546 +#: common/models.py:1631 #, fuzzy #| msgid "Select Stock Items" msgid "Show Installed Stock Items" msgstr "选择库存项" -#: common/models.py:1547 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1553 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1554 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1560 +#: common/models.py:1645 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1561 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1567 +#: common/models.py:1652 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1568 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1574 +#: common/models.py:1659 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1575 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1581 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1582 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1588 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1589 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1595 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1596 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1602 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1603 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1609 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1610 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1617 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1618 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1624 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1625 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1631 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1632 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1638 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1639 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1645 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1646 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1652 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1653 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1659 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1660 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1666 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1667 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1673 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1674 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1681 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1687 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1688 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1694 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1695 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1703 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1704 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1711 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1712 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1719 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1720 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1727 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1728 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1735 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1736 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1743 +#: common/models.py:1828 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:1744 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1750 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1751 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1757 +#: common/models.py:1842 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:1758 +#: common/models.py:1843 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从该选定的仓储地点排除库存项" -#: common/models.py:1764 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1765 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1774 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1775 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1792 common/models.py:2222 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1833 +#: common/models.py:1917 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:1834 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1840 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1841 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1847 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1848 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1854 +#: common/models.py:1938 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1855 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1861 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1862 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1868 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1869 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1875 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1876 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1882 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1883 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1889 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1890 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1896 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1897 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1903 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:1904 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1910 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:1911 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1917 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1918 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1924 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1925 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1931 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:1932 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1938 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1939 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1945 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1946 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1952 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1953 +#: common/models.py:2037 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1959 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:1960 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1966 +#: common/models.py:2050 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1967 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1973 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:1974 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1980 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:1981 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1987 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:1988 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1994 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1995 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2001 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2002 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2008 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2009 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2015 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2016 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2022 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2023 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2029 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2030 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2036 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2037 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2043 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2044 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2050 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2051 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2057 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2058 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2064 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2065 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2071 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2072 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2078 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2079 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2085 +#: common/models.py:2169 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2086 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2092 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2093 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2099 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2100 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2106 +#: common/models.py:2190 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2107 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2113 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2114 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2120 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2121 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2127 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2128 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2134 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2135 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2141 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2142 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2156 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2157 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2163 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2164 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2170 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2171 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2180 +#: common/models.py:2264 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2181 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2189 +#: common/models.py:2273 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2190 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2198 +#: common/models.py:2282 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2199 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2207 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2208 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2252 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2259 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1952 -#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1864 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 +#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:734 +#: templates/js/translated/return_order.js:738 msgid "Price" msgstr "价格" -#: common/models.py:2260 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2420 common/models.py:2598 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2421 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2430 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2435 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:464 -#: templates/js/translated/table_filters.js:480 -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:712 msgid "Active" msgstr "" -#: common/models.py:2436 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2450 +#: common/models.py:2533 msgid "Token" msgstr "令牌" -#: common/models.py:2451 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2458 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2459 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2565 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2566 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2574 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2575 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2582 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2583 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2589 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2590 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2599 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2604 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2605 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2759 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2765 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2775 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2780 templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2785 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2790 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2791 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2811 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3566,68 +3600,68 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2812 +#: common/models.py:2894 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:2856 +#: common/models.py:2937 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:2878 +#: common/models.py:2959 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:2884 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2885 +#: common/models.py:2966 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:2891 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:2892 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 #, fuzzy #| msgid "Received against purchase order" msgid "Items have been received against a return order" msgstr "收到定购单" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3658,7 +3692,7 @@ msgstr "字段匹配失败" msgid "Parts imported" msgstr "已导入商品" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3700,7 +3734,7 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3742,321 +3776,321 @@ msgstr "该公司制造商品吗?" msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "公司" -#: company/models.py:339 +#: company/models.py:334 #, fuzzy #| msgid "Delete Company" msgid "Select company" msgstr "删除该公司" -#: company/models.py:342 +#: company/models.py:337 #, fuzzy #| msgid "Address" msgid "Address title" msgstr "地址" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 #, fuzzy #| msgid "Company address" msgid "Primary address" msgstr "公司地址" -#: company/models.py:348 +#: company/models.py:343 #, fuzzy #| msgid "Contact email address" msgid "Set as primary address" msgstr "联系人电子邮件" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 #, fuzzy #| msgid "Address" msgid "Address line 1" msgstr "地址" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 #, fuzzy #| msgid "Address" msgid "Address line 2" msgstr "地址" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 #, fuzzy #| msgid "Address" msgid "Address country" msgstr "地址" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 #, fuzzy #| msgid "Internal company name" msgid "Internal shipping notes" msgstr "内部公司名称" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 #, fuzzy #| msgid "Description (optional)" msgid "Link to address information (external)" msgstr "描述 (可选)" -#: company/models.py:417 company/models.py:693 stock/models.py:675 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "选择商品" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:438 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:756 +#: templates/js/translated/table_filters.js:792 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:444 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1781 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1797 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2032 msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2286 templates/js/translated/company.js:1156 -#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1473 -#: templates/js/translated/stock.js:1464 +#: stock/models.py:2348 templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 +#: templates/js/translated/stock.js:1502 msgid "Value" msgstr "数值" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "参数值" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1492 -#: templates/js/translated/part.js:1596 templates/js/translated/part.js:2344 +#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 +#: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "单位" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Pack units must be greater than zero" msgstr "数量必须大于0" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:427 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 -#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1749 +#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1765 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1668 -#: templates/js/translated/table_filters.js:760 +#: templates/js/translated/purchase_order.js:1672 +#: templates/js/translated/table_filters.js:796 msgid "Supplier" msgstr "供应商" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:433 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1767 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1825 -#: templates/js/translated/purchase_order.js:2003 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2007 msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:433 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "备注" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:119 stock/models.py:701 stock/serializers.py:1238 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2356 +#: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "打包" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:746 templates/js/translated/company.js:1641 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 +#: company/models.py:741 templates/js/translated/company.js:1641 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2059 -#: templates/js/translated/purchase_order.js:2076 +#: templates/js/translated/purchase_order.js:2063 +#: templates/js/translated/purchase_order.js:2080 msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -4120,17 +4154,17 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1751 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:985 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:293 #: templates/js/translated/sales_order.js:781 -#: templates/js/translated/stock.js:2881 -#: templates/js/translated/table_filters.js:764 +#: templates/js/translated/stock.js:2930 +#: templates/js/translated/table_filters.js:800 msgid "Customer" msgstr "客户" @@ -4138,7 +4172,7 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4316,7 +4350,7 @@ msgstr "公司地址" msgid "Add Address" msgstr "地址" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "制造商" @@ -4347,7 +4381,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4368,7 +4402,7 @@ msgid "New Parameter" msgstr "新建参数" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1403 +#: templates/js/translated/part.js:1419 msgid "Add Parameter" msgstr "添加参数" @@ -4401,11 +4435,11 @@ msgid "Addresses" msgstr "地址" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:684 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2212 +#: templates/js/translated/stock.js:2250 msgid "Supplier Part" msgstr "供应商商品" @@ -4461,7 +4495,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 -#: templates/js/translated/stock.js:503 +#: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4491,15 +4525,15 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:48 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1041 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2699 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1057 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4508,28 +4542,28 @@ msgstr "库存项" msgid "Supplier Part Pricing" msgstr "供应商商品价格" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "新增供应商" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "新建制造商" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "客户信息" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "新建客户" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "公司" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "新建公司信息" @@ -4549,7 +4583,7 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:141 report/models.py:277 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "已启用" @@ -4573,7 +4607,7 @@ msgstr "高度 [mm]" msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:161 report/models.py:270 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "文件名样式" @@ -4589,8 +4623,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:298 report/models.py:445 -#: report/models.py:483 report/models.py:521 report/models.py:645 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "筛选器" @@ -4609,607 +4643,607 @@ msgstr "商品二维码" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/purchase_order.js:2104 #: templates/js/translated/sales_order.js:1844 msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1726 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1742 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 -#: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2192 templates/js/translated/stock.js:2829 +#: templates/js/translated/purchase_order.js:1656 +#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1922 order/models.py:1968 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:278 -#: templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2912 #, fuzzy #| msgid "Returned" msgid "Return Order" msgstr "已退回" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 #, fuzzy #| msgid "User or group responsible for this order" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 #, fuzzy #| msgid "Build output does not match the parent build" msgid "Contact does not match selected company" msgstr "生产产出与对应生产不匹配" -#: order/models.py:232 +#: order/models.py:226 #, fuzzy #| msgid "Description (optional)" msgid "Order description (optional)" msgstr "描述 (可选)" -#: order/models.py:237 +#: order/models.py:231 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:271 +#: order/models.py:265 #, fuzzy #| msgid "Priority of this build order" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:280 +#: order/models.py:274 #, fuzzy #| msgid "User or group responsible for this order" msgid "Company address for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:404 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1677 +#: order/models.py:395 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1774 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1775 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1781 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:812 order/models.py:1768 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1769 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1216 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1849 templates/js/translated/part.js:1880 +#: order/models.py:1201 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2144 -#: templates/js/translated/return_order.js:757 +#: templates/js/translated/purchase_order.js:2148 +#: templates/js/translated/return_order.js:761 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:562 +#: templates/js/translated/table_filters.js:598 msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:823 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2243 +#: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1640 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:433 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1605 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1607 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1610 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1620 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1623 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1624 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1632 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1641 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:715 +#: order/models.py:1640 order/models.py:1910 +#: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1655 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1658 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1738 +#: order/models.py:1723 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:1752 +#: order/models.py:1737 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:1763 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1914 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1930 +#: order/models.py:1911 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:1935 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1936 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:726 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1947 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1953 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:535 +#: order/serializers.py:531 #, fuzzy #| msgid "Scan Barcode" msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1593 +#: order/serializers.py:1583 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" msgstr "使用默认货币" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5385,12 +5419,12 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1602 +#: templates/js/translated/build.js:1610 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:503 #: templates/js/translated/sales_order.js:1106 -#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -5515,8 +5549,8 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/part.js:1069 +#: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/return_order.js:378 #: templates/js/translated/sales_order.js:852 msgid "Total Cost" @@ -5588,7 +5622,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5618,47 +5652,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 -#: stock/admin.py:101 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 +#: stock/admin.py:119 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 -#: stock/admin.py:102 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 +#: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1207 templates/js/translated/part.js:2315 -#: templates/js/translated/stock.js:1968 +#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 +#: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:183 templates/js/translated/part.js:1212 -#: templates/js/translated/part.js:2321 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 +#: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5666,23 +5700,23 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1679 -#: templates/js/translated/table_filters.js:331 +#: templates/js/translated/table_filters.js:355 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2585 -#: templates/js/translated/part.js:690 templates/js/translated/part.js:2127 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 +#: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" @@ -5691,107 +5725,107 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:695 templates/js/translated/part.js:2131 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:142 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:2147 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:950 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:960 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:393 part/serializers.py:336 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2778 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2799 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "可用库存" @@ -5800,7 +5834,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5815,9 +5849,9 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2705 +#: part/models.py:134 stock/models.py:187 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" @@ -5833,11 +5867,12 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:145 stock/models.py:113 +#: part/models.py:145 stock/models.py:85 stock/models.py:175 +#: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" msgstr "" -#: part/models.py:146 stock/models.py:114 +#: part/models.py:146 stock/models.py:176 msgid "Icon (optional)" msgstr "" @@ -5845,733 +5880,733 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "商品名称" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:349 part/serializers.py:964 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2351 +#: templates/js/translated/part.js:2372 msgid "Category" msgstr "类别" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "商品类别" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 -#: templates/js/translated/part.js:2445 +#: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 -#: templates/InvenTree/settings/settings_staff_js.html:436 -#: templates/js/translated/part.js:1066 templates/js/translated/pricing.js:826 +#: templates/InvenTree/settings/settings_staff_js.html:520 +#: templates/js/translated/part.js:1082 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2743 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/stock.js:2792 msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:425 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:432 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2842 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2851 -#: templates/js/translated/table_filters.js:453 +#: part/models.py:3311 templates/js/translated/part.js:2872 +#: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2859 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2866 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1608 -#: templates/js/translated/table_filters.js:781 +#: part/models.py:3445 templates/js/translated/part.js:1624 +#: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1617 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "默认值" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "BOM项" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:577 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:345 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:350 +#: part/serializers.py:353 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:391 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:452 msgid "Selected company is not a valid supplier" msgstr "" @@ -6579,188 +6614,188 @@ msgstr "" msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:732 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:452 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:732 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:737 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:737 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:748 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:749 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:970 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:981 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:996 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1382 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1515 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1518 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1538 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1559 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1047 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 -#: templates/js/translated/purchase_order.js:2059 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 +#: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:295 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:296 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6902,9 +6937,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2148 users/models.py:39 +#: templates/js/translated/stock.js:2186 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6978,7 +7013,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -7002,15 +7037,15 @@ msgstr "商品供应商" msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:654 +#: part/templates/part/detail.html:659 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:662 +#: part/templates/part/detail.html:667 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:747 +#: part/templates/part/detail.html:752 msgid "Add Test Result Template" msgstr "" @@ -7091,7 +7126,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2267 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2288 msgid "Part actions" msgstr "" @@ -7140,8 +7175,8 @@ msgstr "打印操作" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:291 -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1199 +#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1215 msgid "Inactive" msgstr "" @@ -7164,7 +7199,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -7173,7 +7208,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1245 templates/js/translated/part.js:2418 +#: templates/js/translated/part.js:1261 templates/js/translated/part.js:2439 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7196,7 +7231,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2261 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2282 #, fuzzy #| msgid "Edit part" msgid "part" @@ -7272,9 +7307,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2124 -#: templates/js/translated/part.js:2366 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:2002 templates/navbar.html:31 +#: templates/js/translated/part.js:1239 templates/js/translated/part.js:2140 +#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7303,11 +7338,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:129 +#: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2178 +#: templates/js/translated/stock.js:2216 msgid "Last Updated" msgstr "" @@ -7370,8 +7405,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:685 -#: templates/js/translated/part.js:2119 templates/js/translated/part.js:2121 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:701 +#: templates/js/translated/part.js:2135 templates/js/translated/part.js:2137 msgid "No Stock" msgstr "" @@ -7424,11 +7459,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7466,7 +7501,7 @@ msgstr "未指定操作" msgid "No matching action found" msgstr "未找到指定操作" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:109 msgid "Missing barcode data" msgstr "" @@ -7478,12 +7513,12 @@ msgstr "未找到匹配条形码数据" msgid "Match found for barcode data" msgstr "找到匹配条形码数据" -#: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1387 +#: plugin/base/barcodes/api.py:119 +#: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:215 msgid "No match found for provided value" msgstr "" @@ -7501,6 +7536,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 msgid "InvenTree contributors" msgstr "" @@ -7539,10 +7575,20 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:24 +#, fuzzy +#| msgid "Default currency used for this company" +msgid "Default currency exchange integration" +msgstr "该公司使用的默认货币" + #: plugin/builtin/labels/inventree_label.py:20 msgid "InvenTree PDF label printer" msgstr "" @@ -7563,6 +7609,26 @@ msgstr "调试模式" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" +#: plugin/installer.py:140 +msgid "Permission denied: only staff users can install plugins" +msgstr "" + +#: plugin/installer.py:186 +#, fuzzy +#| msgid "Installed into assembly" +msgid "Installed plugin successfully" +msgstr "安装到组装中" + +#: plugin/installer.py:192 +#, fuzzy, python-brace-format +#| msgid "Installed into assembly" +msgid "Installed plugin into {path}" +msgstr "安装到组装中" + +#: plugin/installer.py:201 +msgid "Plugin installation failed" +msgstr "" + #: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" @@ -7587,37 +7653,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:131 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:500 +msgid "Installed" +msgstr "" + +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:166 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:217 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:478 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:480 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:482 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7654,148 +7726,188 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:90 +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +#, fuzzy +#| msgid "About InvenTree" +msgid "InvenTree Contributors" +msgstr "关于 InventTree" + +#: plugin/serializers.py:87 msgid "Source URL" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:88 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:96 +#: plugin/serializers.py:93 msgid "Package Name" msgstr "" -#: plugin/serializers.py:97 +#: plugin/serializers.py:94 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:97 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:101 +#: plugin/serializers.py:98 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:113 +#: plugin/serializers.py:110 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:115 +#: plugin/serializers.py:112 msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:193 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:194 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/models.py:165 -msgid "Template name" +#: report/helpers.py:13 +msgid "A4" +msgstr "" + +#: report/helpers.py:14 +msgid "A3" +msgstr "" + +#: report/helpers.py:15 +msgid "Legal" +msgstr "" + +#: report/helpers.py:16 +msgid "Letter" msgstr "" #: report/models.py:171 +msgid "Template name" +msgstr "" + +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:178 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:184 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:271 +#: report/models.py:198 +#, fuzzy +#| msgid "Default page size for PDF reports" +msgid "Page size for PDF reports" +msgstr "PDF 报表默认页面大小" + +#: report/models.py:203 +msgid "Landscape" +msgstr "" + +#: report/models.py:204 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:278 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:299 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:307 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:308 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:369 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:370 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:412 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:446 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:484 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:522 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:575 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:576 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:580 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:617 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:618 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:625 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:646 +#: report/models.py:676 #, fuzzy #| msgid "Query filters (comma-separated list of key=value pairs)," msgid "stock location query filters (comma-separated list of key=value pairs)" @@ -7818,7 +7930,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/purchase_order.js:2094 #: templates/js/translated/sales_order.js:1834 msgid "Unit Price" msgstr "单价" @@ -7833,23 +7945,23 @@ msgstr "额外的生产备注" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1996 #: templates/js/translated/sales_order.js:1803 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1340 -#: templates/js/translated/build.js:2325 -#: templates/js/translated/model_renderers.js:219 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 +#: templates/js/translated/build.js:2337 +#: templates/js/translated/model_renderers.js:222 #: templates/js/translated/return_order.js:537 -#: templates/js/translated/return_order.js:717 +#: templates/js/translated/return_order.js:721 #: templates/js/translated/sales_order.js:312 #: templates/js/translated/sales_order.js:1608 #: templates/js/translated/sales_order.js:1693 -#: templates/js/translated/stock.js:562 +#: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "序列号" @@ -7868,12 +7980,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2274 templates/js/translated/stock.js:1437 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2280 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7901,364 +8013,393 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:3030 +#: stock/admin.py:122 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3079 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:109 +#: stock/admin.py:41 stock/admin.py:127 msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/admin.py:45 stock/templates/stock/location.html:130 #: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:118 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:107 +#: stock/admin.py:125 #, fuzzy #| msgid "Status" msgid "Status Code" msgstr "状态" -#: stock/admin.py:110 +#: stock/admin.py:128 msgid "Supplier Part ID" msgstr "供应商商品ID" -#: stock/admin.py:111 +#: stock/admin.py:129 msgid "Supplier ID" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:130 msgid "Supplier Name" msgstr "" -#: stock/admin.py:113 +#: stock/admin.py:131 msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:708 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" -#: stock/admin.py:115 +#: stock/admin.py:133 msgid "Build ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:135 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:118 +#: stock/admin.py:136 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 +#: stock/admin.py:143 msgid "Review Needed" msgstr "" -#: stock/admin.py:126 +#: stock/admin.py:144 #, fuzzy #| msgid "Delete Template" msgid "Delete on Deplete" msgstr "删除模板" -#: stock/admin.py:131 stock/models.py:789 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:434 templates/js/translated/table_filters.js:403 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:641 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:648 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:676 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:685 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:708 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:54 stock/models.py:692 +#: stock/models.py:56 +#, fuzzy +#| msgid "Stock Location" +msgid "Stock Location type" +msgstr "仓储地点" + +#: stock/models.py:57 +#, fuzzy +#| msgid "Stock Locations" +msgid "Stock Location types" +msgstr "仓储地点" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:55 stock/templates/stock/location.html:178 +#: stock/models.py:117 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "仓储地点" -#: stock/models.py:118 stock/models.py:828 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:119 stock/models.py:829 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" -#: stock/models.py:126 +#: stock/models.py:189 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2714 +#: stock/models.py:195 templates/js/translated/stock.js:2752 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:133 +#: stock/models.py:196 msgid "This is an external stock location" msgstr "" -#: stock/models.py:175 +#: stock/models.py:202 templates/js/translated/stock.js:2761 +#: templates/js/translated/table_filters.js:246 +#, fuzzy +#| msgid "Location" +msgid "Location type" +msgstr "地点" + +#: stock/models.py:205 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock location type of this location" +msgstr "库存项已创建" + +#: stock/models.py:270 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:557 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:600 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:610 stock/models.py:619 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:611 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:633 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:639 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:653 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:667 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:677 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:685 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:695 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:702 stock/serializers.py:1239 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:711 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:727 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:741 stock/serializers.py:1224 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:746 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:753 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:755 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:761 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 #, fuzzy #| msgid "Issued By" msgid "Consumed By" msgstr "发布者" -#: stock/models.py:763 +#: stock/models.py:828 #, fuzzy #| msgid "BuildOrder to which this build is allocated" msgid "Build order which consumed this stock item" msgstr "此次生产匹配的订单" -#: stock/models.py:774 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:777 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:783 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:790 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:824 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:852 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1378 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1384 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1390 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1396 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1474 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1480 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1486 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1489 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:1135 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1500 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1508 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1702 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2250 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2256 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2275 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2281 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2294 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2300 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8270,147 +8411,147 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:413 stock/serializers.py:1092 stock/serializers.py:1363 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Select stock items to change status" msgstr "在BOM中找不到选定的库存项" -#: stock/serializers.py:696 +#: stock/serializers.py:690 #, fuzzy #| msgid "Stock item created" msgid "No stock items selected" msgstr "库存项已创建" -#: stock/serializers.py:947 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:986 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:992 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1000 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1010 stock/serializers.py:1270 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1099 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1104 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1105 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1110 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1111 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1121 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1261 #, fuzzy #| msgid "Stock item created" msgid "Stock item status code" msgstr "库存项已创建" -#: stock/serializers.py:1260 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8451,7 +8592,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3177 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3230 msgid "Install Stock Item" msgstr "" @@ -8459,7 +8600,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 msgid "Add Test Result" msgstr "" @@ -8482,17 +8623,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1792 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1774 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1783 msgid "Remove stock" msgstr "" @@ -8501,12 +8642,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1801 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1817 +#: templates/js/translated/stock.js:1855 msgid "Assign to customer" msgstr "" @@ -8547,7 +8688,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2093 templates/navbar.html:38 +#: templates/js/translated/build.js:2105 templates/navbar.html:38 msgid "Build" msgstr "生产" @@ -8615,7 +8756,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/build.js:2350 +#: templates/js/translated/build.js:2362 msgid "No location set" msgstr "未设置仓储地点" @@ -8633,7 +8774,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:438 -#: templates/js/translated/table_filters.js:411 +#: templates/js/translated/table_filters.js:435 msgid "Expired" msgstr "" @@ -8643,7 +8784,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:440 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" @@ -8652,7 +8793,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:508 -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1922 #, fuzzy #| msgid "Stock Item" msgid "stock item" @@ -8686,7 +8827,7 @@ msgstr "" msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:659 +#: stock/templates/stock/item_base.html:663 msgid "Return to Stock" msgstr "" @@ -8766,22 +8907,22 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:279 -#: templates/js/translated/stock.js:2505 +#: stock/templates/stock/location.html:288 +#: templates/js/translated/stock.js:2543 #, fuzzy #| msgid "Stock Location" msgid "stock location" msgstr "仓储地点" -#: stock/templates/stock/location.html:307 +#: stock/templates/stock/location.html:316 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:380 +#: stock/templates/stock/location.html:389 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:391 +#: stock/templates/stock/location.html:400 msgid "Link Barcode to Stock Location" msgstr "" @@ -9095,7 +9236,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:41 -#: templates/js/translated/plugin.js:151 +#: templates/js/translated/plugin.js:150 msgid "Install Plugin" msgstr "" @@ -9121,7 +9262,7 @@ msgid "Plugin information" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 -#: templates/js/translated/plugin.js:89 +#: templates/js/translated/plugin.js:85 msgid "Version" msgstr "" @@ -9158,7 +9299,8 @@ msgid "Installation path" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 -#: templates/js/translated/plugin.js:77 +#: templates/js/translated/plugin.js:67 +#: templates/js/translated/table_filters.js:492 msgid "Builtin" msgstr "" @@ -9166,21 +9308,31 @@ msgstr "" msgid "This is a builtin plugin which cannot be disabled" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:106 +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:71 +#: templates/js/translated/table_filters.js:496 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:110 +#: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:114 +#: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:118 +#: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" msgstr "" @@ -9277,9 +9429,9 @@ msgid "Edit" msgstr "编辑" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:373 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:256 +#: templates/js/translated/forms.js:508 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:389 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:257 msgid "Delete" msgstr "删除" @@ -9326,12 +9478,12 @@ msgid "No category parameter templates found" msgstr "未找到类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:288 -#: templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1642 msgid "Edit Template" msgstr "编辑模板" #: templates/InvenTree/settings/settings_staff_js.html:289 -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1643 msgid "Delete Template" msgstr "删除模板" @@ -9341,18 +9493,56 @@ msgstr "删除模板" msgid "Edit Category Parameter Template" msgstr "删除类别参数模板" -#: templates/InvenTree/settings/settings_staff_js.html:329 +#: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" msgstr "删除类别参数模板" -#: templates/InvenTree/settings/settings_staff_js.html:364 +#: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" msgstr "创建类别参数模板" -#: templates/InvenTree/settings/settings_staff_js.html:390 +#: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" msgstr "" +#: templates/InvenTree/settings/settings_staff_js.html:420 +#, fuzzy +#| msgid "No stock location set" +msgid "No stock location types found" +msgstr "未设置仓储地点" + +#: templates/InvenTree/settings/settings_staff_js.html:441 +#, fuzzy +#| msgid "Location actions" +msgid "Location count" +msgstr "仓储地操作" + +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:460 +#, fuzzy +#| msgid "Edit location" +msgid "Edit Location Type" +msgstr "编辑仓储地" + +#: templates/InvenTree/settings/settings_staff_js.html:447 +#, fuzzy +#| msgid "Delete location" +msgid "Delete Location type" +msgstr "删除仓储地" + +#: templates/InvenTree/settings/settings_staff_js.html:470 +#, fuzzy +#| msgid "Delete location" +msgid "Delete Location Type" +msgstr "删除仓储地" + +#: templates/InvenTree/settings/settings_staff_js.html:480 +#: templates/InvenTree/settings/stock.html:35 +#, fuzzy +#| msgid "New Location" +msgid "New Location Type" +msgstr "新建仓储地点" + #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -9373,9 +9563,9 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:543 templates/navbar.html:107 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 +#: templates/js/translated/forms.js:2045 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" msgstr "搜索" @@ -9410,6 +9600,12 @@ msgstr "销售订单设置" msgid "Stock Settings" msgstr "库存设置" +#: templates/InvenTree/settings/stock.html:31 +#, fuzzy +#| msgid "Stock Locations" +msgid "Stock Location Types" +msgstr "仓储地点" + #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" msgstr "帐户设置" @@ -9723,7 +9919,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:728 msgid "Confirm" msgstr "确认" @@ -9903,18 +10099,26 @@ msgstr "添加附件" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:102 +#: templates/base.html:103 msgid "Server Restart Required" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" msgstr "" +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + #: templates/email/build_order_completed.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 @@ -9943,7 +10147,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9957,15 +10161,15 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3161 +#: templates/js/translated/part.js:3182 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1124 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" msgstr "" @@ -9977,27 +10181,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1134 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1139 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1140 +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1144 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1145 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 msgid "The requested resource could not be located on the server" msgstr "" @@ -10009,19 +10213,29 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1149 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1150 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 msgid "Connection timeout while requesting data from server" msgstr "" #: templates/js/translated/api.js:261 -msgid "Unhandled Error Code" +msgid "Error 503: Service Unavailable" msgstr "" #: templates/js/translated/api.js:262 +#, fuzzy +#| msgid "Stock item is over-allocated" +msgid "The server is currently unavailable" +msgstr "库存物品分配过度!" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 msgid "Error code" msgstr "" @@ -10094,7 +10308,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:252 -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "Invalid server response" msgstr "" @@ -10118,7 +10332,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1155 msgid "Remove stock item" msgstr "" @@ -10189,8 +10403,8 @@ msgid "Row Data" msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 -#: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 -#: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 #: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -10310,7 +10524,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2473 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2485 msgid "Variant stock allowed" msgstr "" @@ -10318,74 +10532,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2567 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2571 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2573 -#: templates/js/translated/part.js:1237 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 +#: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2575 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2558 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2458 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10429,13 +10643,13 @@ msgstr "生产订单未完成" msgid "Complete Build Order" msgstr "生产订单完成" -#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 -#: templates/js/translated/stock.js:264 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 -#: templates/js/translated/stock.js:266 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 msgid "Latest serial number" msgstr "" @@ -10495,13 +10709,13 @@ msgstr "是否确定取消生产?" msgid "Deallocate Stock Items" msgstr "选择库存项" -#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 -#: templates/js/translated/build.js:818 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:700 +#: templates/js/translated/build.js:826 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 -#: templates/js/translated/build.js:819 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:701 +#: templates/js/translated/build.js:827 msgid "At least one build output must be selected" msgstr "" @@ -10511,302 +10725,303 @@ msgstr "" msgid "Selected build outputs will be marked as complete" msgstr "删除所有未完成的生产产出" -#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 -#: templates/js/translated/build.js:841 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:725 +#: templates/js/translated/build.js:849 msgid "Output" msgstr "" -#: templates/js/translated/build.js:615 +#: templates/js/translated/build.js:619 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:712 +#: templates/js/translated/build.js:716 #, fuzzy #| msgid "Delete any build outputs which have not been completed" msgid "Selected build outputs will be marked as scrapped" msgstr "删除所有未完成的生产产出" -#: templates/js/translated/build.js:714 +#: templates/js/translated/build.js:718 #, fuzzy #| msgid "Delete any build outputs which have not been completed" msgid "Scrapped output are marked as rejected" msgstr "删除所有未完成的生产产出" -#: templates/js/translated/build.js:715 +#: templates/js/translated/build.js:719 #, fuzzy #| msgid "Stock item is over-allocated" msgid "Allocated stock items will no longer be available" msgstr "库存物品分配过度!" -#: templates/js/translated/build.js:716 +#: templates/js/translated/build.js:720 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:743 +#: templates/js/translated/build.js:751 #, fuzzy #| msgid "Create Build Output" msgid "Scrap Build Outputs" msgstr "创建创建生产产出" -#: templates/js/translated/build.js:833 +#: templates/js/translated/build.js:841 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "Selected build outputs will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:843 #, fuzzy #| msgid "Build output is already completed" msgid "Build output data will be permanently deleted" msgstr "生产产出已完成" -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:844 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "Allocated stock items will be returned to stock" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:862 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:941 +#: templates/js/translated/build.js:949 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2314 +#: templates/js/translated/build.js:978 templates/js/translated/build.js:2326 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Quantity" msgstr "已分配的部件" -#: templates/js/translated/build.js:984 +#: templates/js/translated/build.js:992 msgid "Location not specified" msgstr "未指定仓储地点" -#: templates/js/translated/build.js:1006 +#: templates/js/translated/build.js:1014 msgid "Complete outputs" msgstr "已完成输出" -#: templates/js/translated/build.js:1024 +#: templates/js/translated/build.js:1032 #, fuzzy #| msgid "Complete outputs" msgid "Scrap outputs" msgstr "已完成输出" -#: templates/js/translated/build.js:1042 +#: templates/js/translated/build.js:1050 msgid "Delete outputs" msgstr "删除输出" -#: templates/js/translated/build.js:1096 +#: templates/js/translated/build.js:1104 #, fuzzy #| msgid "Build output" msgid "build output" msgstr "生产产出" -#: templates/js/translated/build.js:1097 +#: templates/js/translated/build.js:1105 #, fuzzy #| msgid "Build output" msgid "build outputs" msgstr "生产产出" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1109 #, fuzzy #| msgid "Build actions" msgid "Build output actions" msgstr "生产操作" -#: templates/js/translated/build.js:1270 +#: templates/js/translated/build.js:1278 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1363 +#: templates/js/translated/build.js:1371 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Lines" msgstr "已分配的部件" -#: templates/js/translated/build.js:1377 +#: templates/js/translated/build.js:1385 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1549 +#: templates/js/translated/build.js:1557 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:1550 +#: templates/js/translated/build.js:1558 #: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1613 +#: templates/js/translated/build.js:1621 #: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:1698 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1691 +#: templates/js/translated/build.js:1699 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1705 +#: templates/js/translated/build.js:1713 #: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1741 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:1752 #: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1817 +#: templates/js/translated/build.js:1825 #: templates/js/translated/sales_order.js:1359 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1914 +#: templates/js/translated/build.js:1922 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1915 +#: templates/js/translated/build.js:1923 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1917 +#: templates/js/translated/build.js:1925 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1926 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1919 +#: templates/js/translated/build.js:1927 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1946 +#: templates/js/translated/build.js:1958 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2052 +#: templates/js/translated/build.js:2064 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2087 templates/js/translated/build.js:2452 -#: templates/js/translated/part.js:2290 templates/js/translated/part.js:2716 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2643 +#: templates/js/translated/build.js:2099 templates/js/translated/build.js:2464 +#: templates/js/translated/forms.js:2041 templates/js/translated/forms.js:2057 +#: templates/js/translated/part.js:2311 templates/js/translated/part.js:2737 +#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2113 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2147 +#: templates/js/translated/build.js:2159 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/stock.js:2964 +#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2198 +#: templates/js/translated/build.js:2210 msgid "group" msgstr "" -#: templates/js/translated/build.js:2359 +#: templates/js/translated/build.js:2371 #: templates/js/translated/sales_order.js:1643 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2360 +#: templates/js/translated/build.js:2372 #: templates/js/translated/sales_order.js:1644 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2375 +#: templates/js/translated/build.js:2387 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2387 +#: templates/js/translated/build.js:2399 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2440 #, fuzzy #| msgid "Build actions" msgid "build line" msgstr "生产操作" -#: templates/js/translated/build.js:2429 +#: templates/js/translated/build.js:2441 #, fuzzy #| msgid "Build actions" msgid "build lines" msgstr "生产操作" -#: templates/js/translated/build.js:2447 +#: templates/js/translated/build.js:2459 #, fuzzy #| msgid "Subcategories" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2477 templates/js/translated/part.js:771 -#: templates/js/translated/part.js:1183 +#: templates/js/translated/build.js:2489 templates/js/translated/part.js:787 +#: templates/js/translated/part.js:1199 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2512 +#: templates/js/translated/build.js:2524 #, fuzzy #| msgid "Quantity" msgid "Unit Quantity" msgstr "数量" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2573 #: templates/js/translated/sales_order.js:1914 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2563 +#: templates/js/translated/build.js:2575 #: templates/js/translated/sales_order.js:1912 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2610 +#: templates/js/translated/build.js:2622 #, fuzzy #| msgid "Minimum Stock" msgid "Consumable Item" msgstr "最低库存" -#: templates/js/translated/build.js:2615 +#: templates/js/translated/build.js:2627 #, fuzzy #| msgid "Stock Item" msgid "Tracked item" msgstr "库存项" -#: templates/js/translated/build.js:2622 +#: templates/js/translated/build.js:2634 #: templates/js/translated/sales_order.js:2013 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2627 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1836 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2631 +#: templates/js/translated/build.js:2643 #: templates/js/translated/sales_order.js:2007 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2635 +#: templates/js/translated/build.js:2647 #, fuzzy #| msgid "Confirm stock allocation" msgid "Remove stock allocation" @@ -10987,7 +11202,7 @@ msgid "Delete Parameters" msgstr "删除参数" #: templates/js/translated/company.js:1181 -#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2218 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2239 msgid "Order parts" msgstr "订购商品" @@ -11006,34 +11221,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1269 -#: templates/js/translated/company.js:1557 templates/js/translated/part.js:779 -#: templates/js/translated/part.js:1191 +#: templates/js/translated/company.js:1557 templates/js/translated/part.js:795 +#: templates/js/translated/part.js:1207 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1273 -#: templates/js/translated/company.js:1561 templates/js/translated/part.js:783 -#: templates/js/translated/part.js:1195 +#: templates/js/translated/company.js:1561 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1445 +#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1461 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1508 +#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1524 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1509 +#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1525 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1414 +#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1430 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1530 +#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1546 msgid "Delete Parameter" msgstr "删除参数" @@ -11135,61 +11350,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:369 templates/js/translated/forms.js:384 -#: templates/js/translated/forms.js:398 templates/js/translated/forms.js:412 +#: templates/js/translated/forms.js:371 templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:400 templates/js/translated/forms.js:414 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:373 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:388 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:402 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:414 +#: templates/js/translated/forms.js:416 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:752 +#: templates/js/translated/forms.js:754 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:853 +#: templates/js/translated/forms.js:855 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1401 templates/modals.html:19 +#: templates/js/translated/forms.js:1403 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1855 +#: templates/js/translated/forms.js:1857 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2161 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2285 +#: templates/js/translated/forms.js:2375 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2754 +#: templates/js/translated/forms.js:2844 msgid "Select Columns" msgstr "" @@ -11259,62 +11474,62 @@ msgstr "没有找到与所选商品相匹配的标签" msgid "Labels sent to printer" msgstr "" -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:152 -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 msgid "Cancel" msgstr "取消" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:151 -#: templates/js/translated/modals.js:745 templates/js/translated/modals.js:1053 +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:156 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:439 +#: templates/js/translated/modals.js:445 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:590 +#: templates/js/translated/modals.js:596 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:682 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:734 +#: templates/js/translated/modals.js:740 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1023 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1129 +#: templates/js/translated/modals.js:1135 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1130 +#: templates/js/translated/modals.js:1136 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1153 +#: templates/js/translated/modals.js:1159 msgid "Error requesting form data" msgstr "" @@ -11324,7 +11539,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1585 +#: templates/js/translated/part.js:1601 msgid "ID" msgstr "" @@ -11373,7 +11588,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1965 +#: templates/js/translated/purchase_order.js:1969 msgid "No line items found" msgstr "" @@ -11405,347 +11620,347 @@ msgstr "商品重复选项" msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:305 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:313 templates/js/translated/stock.js:146 +#: templates/js/translated/part.js:329 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:349 msgid "Create Part Category" msgstr "创建商品类别" -#: templates/js/translated/part.js:336 +#: templates/js/translated/part.js:352 #, fuzzy #| msgid "Create new part category" msgid "Create new category after this one" msgstr "新建商品类别" -#: templates/js/translated/part.js:337 +#: templates/js/translated/part.js:353 #, fuzzy #| msgid "Part category" msgid "Part category created" msgstr "商品类别" -#: templates/js/translated/part.js:351 +#: templates/js/translated/part.js:367 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:364 +#: templates/js/translated/part.js:380 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:385 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:394 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:398 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:387 +#: templates/js/translated/part.js:403 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:427 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:413 +#: templates/js/translated/part.js:429 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:430 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:442 +#: templates/js/translated/part.js:458 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:444 +#: templates/js/translated/part.js:460 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:471 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:512 +#: templates/js/translated/part.js:528 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:513 +#: templates/js/translated/part.js:529 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:543 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:529 +#: templates/js/translated/part.js:545 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:530 +#: templates/js/translated/part.js:546 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:547 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:554 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:574 +#: templates/js/translated/part.js:590 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:592 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:581 +#: templates/js/translated/part.js:597 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:583 +#: templates/js/translated/part.js:599 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:616 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:626 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:613 +#: templates/js/translated/part.js:629 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:638 +#: templates/js/translated/part.js:654 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:666 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/part.js:682 +#: templates/js/translated/table_filters.js:743 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:669 +#: templates/js/translated/part.js:685 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:729 +#: templates/js/translated/part.js:745 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:752 +#: templates/js/translated/part.js:768 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:775 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1203 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:787 +#: templates/js/translated/part.js:803 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:791 +#: templates/js/translated/part.js:807 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:878 +#: templates/js/translated/part.js:894 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:882 +#: templates/js/translated/part.js:898 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1031 +#: templates/js/translated/part.js:1047 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1089 templates/js/translated/part.js:1125 +#: templates/js/translated/part.js:1105 templates/js/translated/part.js:1141 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1093 templates/js/translated/part.js:1135 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1151 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1262 +#: templates/js/translated/part.js:1278 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1580 +#: templates/js/translated/part.js:1596 msgid "No part parameter templates found" msgstr "未找到商品参数模板" -#: templates/js/translated/part.js:1643 +#: templates/js/translated/part.js:1659 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1671 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1679 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1697 -#: templates/js/translated/purchase_order.js:1633 +#: templates/js/translated/part.js:1713 +#: templates/js/translated/purchase_order.js:1637 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1840 -#: templates/js/translated/purchase_order.js:2128 -#: templates/js/translated/return_order.js:749 +#: templates/js/translated/part.js:1856 +#: templates/js/translated/purchase_order.js:2132 +#: templates/js/translated/return_order.js:753 #: templates/js/translated/sales_order.js:1872 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1885 -#: templates/js/translated/purchase_order.js:2195 +#: templates/js/translated/part.js:1901 +#: templates/js/translated/purchase_order.js:2199 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1948 +#: templates/js/translated/part.js:1964 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1986 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2058 templates/js/translated/part.js:2480 +#: templates/js/translated/part.js:2074 templates/js/translated/part.js:2501 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2195 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2184 +#: templates/js/translated/part.js:2200 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2209 +#: templates/js/translated/part.js:2230 msgid "Set category" msgstr "设置类别" -#: templates/js/translated/part.js:2262 +#: templates/js/translated/part.js:2283 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2379 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2505 templates/js/translated/part.js:2635 -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 +#: templates/js/translated/stock.js:2640 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2521 +#: templates/js/translated/part.js:2542 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2619 +#: templates/js/translated/part.js:2640 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2655 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2735 +#: templates/js/translated/part.js:2756 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2751 +#: templates/js/translated/part.js:2772 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2849 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2879 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1436 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2880 templates/js/translated/stock.js:1399 -#: templates/js/translated/stock.js:1661 +#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1437 +#: templates/js/translated/stock.js:1699 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2884 +#: templates/js/translated/part.js:2905 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2921 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2914 +#: templates/js/translated/part.js:2935 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2993 templates/js/translated/part.js:2994 +#: templates/js/translated/part.js:3014 templates/js/translated/part.js:3015 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2996 +#: templates/js/translated/part.js:3017 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3002 +#: templates/js/translated/part.js:3023 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3073 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3079 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3154 +#: templates/js/translated/part.js:3175 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3170 +#: templates/js/translated/part.js:3191 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3215 +#: templates/js/translated/part.js:3236 msgid "Minimum Stock Level" msgstr "" @@ -11755,65 +11970,61 @@ msgstr "" msgid "No plugins found" msgstr "子类别" -#: templates/js/translated/plugin.js:54 +#: templates/js/translated/plugin.js:57 +#, fuzzy +#| msgid "Print actions" +msgid "This plugin is no longer installed" +msgstr "打印操作" + +#: templates/js/translated/plugin.js:59 msgid "This plugin is active" msgstr "" -#: templates/js/translated/plugin.js:56 +#: templates/js/translated/plugin.js:61 #, fuzzy #| msgid "Print actions" -msgid "This plugin is not active" +msgid "This plugin is installed but not active" msgstr "打印操作" -#: templates/js/translated/plugin.js:62 -#, fuzzy -#| msgid "Build Description" -msgid "Plugin Description" -msgstr "构建描述" - -#: templates/js/translated/plugin.js:81 -msgid "Sample" -msgstr "" - -#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:116 templates/js/translated/plugin.js:185 msgid "Disable Plugin" msgstr "" -#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:118 templates/js/translated/plugin.js:185 #, fuzzy #| msgid "Enabled" msgid "Enable Plugin" msgstr "已启用" -#: templates/js/translated/plugin.js:158 +#: templates/js/translated/plugin.js:157 msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/plugin.js:174 +#: templates/js/translated/plugin.js:176 #, fuzzy #| msgid "Are you sure you want to delete this stock location?" msgid "Are you sure you want to enable this plugin?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/plugin.js:178 +#: templates/js/translated/plugin.js:180 #, fuzzy #| msgid "Are you sure you want to delete this stock location?" msgid "Are you sure you want to disable this plugin?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 #, fuzzy #| msgid "Enabled" msgid "Enable" msgstr "已启用" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 #, fuzzy #| msgid "Available" msgid "Disable" msgstr "空闲" -#: templates/js/translated/plugin.js:200 +#: templates/js/translated/plugin.js:202 msgid "Plugin updated" msgstr "" @@ -12018,88 +12229,88 @@ msgstr "订单编码" msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:554 +#: templates/js/translated/purchase_order.js:1318 +#: templates/js/translated/return_order.js:558 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1315 +#: templates/js/translated/purchase_order.js:1319 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1387 #, fuzzy #| msgid "Scan Barcode" msgid "Scan Item Barcode" msgstr "扫描条形码" -#: templates/js/translated/purchase_order.js:1384 +#: templates/js/translated/purchase_order.js:1388 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 #, fuzzy #| msgid "Enter barcode data" msgid "Invalid barcode data" msgstr "输入条形码数据" -#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:1664 #: templates/js/translated/return_order.js:283 #: templates/js/translated/sales_order.js:771 #: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/purchase_order.js:1726 #: templates/js/translated/return_order.js:351 #: templates/js/translated/sales_order.js:848 #: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1818 +#: templates/js/translated/purchase_order.js:1822 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected Line items will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/purchase_order.js:1840 #, fuzzy #| msgid "Allocate selected items" msgid "Delete selected Line items?" msgstr "分配选定项目" -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1895 #: templates/js/translated/sales_order.js:2067 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/purchase_order.js:1910 #: templates/js/translated/return_order.js:473 -#: templates/js/translated/return_order.js:662 +#: templates/js/translated/return_order.js:666 #: templates/js/translated/sales_order.js:2080 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/return_order.js:675 +#: templates/js/translated/purchase_order.js:1921 +#: templates/js/translated/return_order.js:679 #: templates/js/translated/sales_order.js:2091 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/purchase_order.js:2203 #: templates/js/translated/sales_order.js:2021 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2200 -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:798 #: templates/js/translated/sales_order.js:2022 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/purchase_order.js:2205 +#: templates/js/translated/return_order.js:802 #: templates/js/translated/sales_order.js:2028 msgid "Delete line item" msgstr "" @@ -12174,16 +12385,16 @@ msgstr "无指定参数" msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:555 +#: templates/js/translated/return_order.js:559 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:686 +#: templates/js/translated/return_order.js:690 #: templates/js/translated/sales_order.js:2227 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:791 +#: templates/js/translated/return_order.js:795 msgid "Mark item as received" msgstr "" @@ -12330,7 +12541,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 #: templates/js/translated/sales_order.js:1707 -#: templates/js/translated/stock.js:1706 +#: templates/js/translated/stock.js:1744 msgid "Shipped to customer" msgstr "" @@ -12392,492 +12603,502 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:97 +#: templates/js/translated/stock.js:98 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:128 +#: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:137 +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:172 +#: templates/js/translated/stock.js:166 +#, fuzzy +#| msgid "Location" +msgid "Add Location type" +msgstr "地点" + +#: templates/js/translated/stock.js:202 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:187 +#: templates/js/translated/stock.js:217 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:189 +#: templates/js/translated/stock.js:219 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:220 #, fuzzy #| msgid "Stock item created" msgid "Stock location created" msgstr "库存项已创建" -#: templates/js/translated/stock.js:204 +#: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:211 +#: templates/js/translated/stock.js:241 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:220 +#: templates/js/translated/stock.js:250 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:224 +#: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:229 +#: templates/js/translated/stock.js:259 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:283 +#: templates/js/translated/stock.js:313 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:319 +#: templates/js/translated/stock.js:349 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:328 +#: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:334 +#: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:405 +#: templates/js/translated/stock.js:439 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:425 +#: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:441 +#: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:446 +#: templates/js/translated/stock.js:480 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:467 +#: templates/js/translated/stock.js:501 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:509 +#: templates/js/translated/stock.js:543 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:521 +#: templates/js/translated/stock.js:555 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:534 +#: templates/js/translated/stock.js:568 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:593 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:580 +#: templates/js/translated/stock.js:614 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:600 +#: templates/js/translated/stock.js:634 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:609 +#: templates/js/translated/stock.js:643 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:717 +#: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:752 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:795 +#: templates/js/translated/stock.js:829 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:830 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:798 +#: templates/js/translated/stock.js:832 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:833 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:928 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:929 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:1024 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:1025 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:993 +#: templates/js/translated/stock.js:1031 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:1032 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:998 +#: templates/js/translated/stock.js:1036 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:1037 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1003 +#: templates/js/translated/stock.js:1041 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:252 +#: templates/js/translated/stock.js:1042 users/models.py:253 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1046 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3258 msgid "Select Stock Items" msgstr "选择库存项" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1224 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1322 +#: templates/js/translated/stock.js:1360 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1324 +#: templates/js/translated/stock.js:1362 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1329 +#: templates/js/translated/stock.js:1367 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1391 +#: templates/js/translated/stock.js:1429 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1432 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1418 +#: templates/js/translated/stock.js:1456 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1482 +#: templates/js/translated/stock.js:1520 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1682 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1666 +#: templates/js/translated/stock.js:1704 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1736 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1710 +#: templates/js/translated/stock.js:1748 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1716 +#: templates/js/translated/stock.js:1754 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:1810 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1819 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1830 +#: templates/js/translated/stock.js:1868 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:1923 #, fuzzy #| msgid "Stock Items" msgid "stock items" msgstr "库存项" -#: templates/js/translated/stock.js:1890 +#: templates/js/translated/stock.js:1928 #, fuzzy #| msgid "Stock Location" msgid "Scan to location" msgstr "仓储地点" -#: templates/js/translated/stock.js:1901 +#: templates/js/translated/stock.js:1939 #, fuzzy #| msgid "Stock Locations" msgid "Stock Actions" msgstr "仓储地点" -#: templates/js/translated/stock.js:1945 +#: templates/js/translated/stock.js:1983 #, fuzzy #| msgid "Installed into assembly" msgid "Load installed items" msgstr "安装到组装中" -#: templates/js/translated/stock.js:2023 +#: templates/js/translated/stock.js:2061 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2069 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2034 +#: templates/js/translated/stock.js:2072 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2036 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2076 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2079 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2081 #, fuzzy #| msgid "Accept as consumed by this build order" msgid "Stock item has been consumed by a build order" msgstr "接受此构建订单所消耗的内容" -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2085 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2049 +#: templates/js/translated/stock.js:2087 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2092 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2056 +#: templates/js/translated/stock.js:2094 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2096 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2062 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/stock.js:2100 +#: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2227 +#: templates/js/translated/stock.js:2265 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2274 +#: templates/js/translated/stock.js:2312 #, fuzzy #| msgid "Stock Source" msgid "Stock Value" msgstr "库存来源" -#: templates/js/translated/stock.js:2402 +#: templates/js/translated/stock.js:2440 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2506 +#: templates/js/translated/stock.js:2544 #, fuzzy #| msgid "Stock Locations" msgid "stock locations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2699 #, fuzzy #| msgid "Stock Locations" msgid "Load Sublocations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2817 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2772 +#: templates/js/translated/stock.js:2821 #, fuzzy #| msgid "Change" msgid "No changes" msgstr "更改" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2833 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2806 +#: templates/js/translated/stock.js:2855 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2872 #, fuzzy #| msgid "Sales Order Settings" msgid "Build order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2838 +#: templates/js/translated/stock.js:2887 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2904 #, fuzzy #| msgid "Sales Order Settings" msgid "Sales Order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2921 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2891 +#: templates/js/translated/stock.js:2940 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2909 +#: templates/js/translated/stock.js:2958 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/stock.js:2976 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/stock.js:2984 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3007 +#: templates/js/translated/stock.js:3056 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3057 templates/js/translated/stock.js:3092 +#: templates/js/translated/stock.js:3106 templates/js/translated/stock.js:3141 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3110 +#: templates/js/translated/stock.js:3163 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3131 +#: templates/js/translated/stock.js:3184 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3132 +#: templates/js/translated/stock.js:3185 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3134 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3135 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3136 +#: templates/js/translated/stock.js:3189 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3137 +#: templates/js/translated/stock.js:3190 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3150 +#: templates/js/translated/stock.js:3203 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3206 +#: templates/js/translated/stock.js:3259 #, fuzzy #| msgid "Select Stock Items" msgid "Select one or more stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3219 +#: templates/js/translated/stock.js:3272 #, fuzzy #| msgid "Select Stock Items" msgid "Selected stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3223 +#: templates/js/translated/stock.js:3276 #, fuzzy #| msgid "Stock Settings" msgid "Change Stock Status" @@ -12888,23 +13109,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:565 -#: templates/js/translated/table_filters.js:577 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:601 +#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:654 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:582 -#: templates/js/translated/table_filters.js:608 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:659 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:590 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Assigned to me" msgstr "" @@ -12925,12 +13146,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:775 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:234 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:345 msgid "Include sublocations" msgstr "" @@ -12938,214 +13159,216 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:254 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:671 +#: templates/js/translated/table_filters.js:267 +#, fuzzy +#| msgid "No location set" +msgid "Has location type" +msgstr "未设置仓储地点" + +#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:707 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:263 -#: templates/js/translated/table_filters.js:719 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:755 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:356 +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:277 -#: templates/js/translated/table_filters.js:363 +#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/table_filters.js:387 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:281 -#: templates/js/translated/table_filters.js:367 +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:368 +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:285 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:359 -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:290 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:301 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:696 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:335 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" msgstr "显示正在生产的项目" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:365 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:346 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:372 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:376 +#: templates/js/translated/table_filters.js:400 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:385 +#: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:414 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:391 +#: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:412 +#: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:418 +#: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:432 +#: templates/js/translated/table_filters.js:456 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:436 +#: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:475 +#: templates/js/translated/table_filters.js:511 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:713 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:721 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:693 -#: templates/js/translated/table_filters.js:789 +#: templates/js/translated/table_filters.js:729 +#: templates/js/translated/table_filters.js:825 #, fuzzy #| msgid "Units" msgid "Has Units" msgstr "单位" -#: templates/js/translated/table_filters.js:694 +#: templates/js/translated/table_filters.js:730 #, fuzzy #| msgid "Parameter units" msgid "Part has defined units" msgstr "参数单位" -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:734 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:699 +#: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:703 +#: templates/js/translated/table_filters.js:739 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:711 +#: templates/js/translated/table_filters.js:747 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:723 +#: templates/js/translated/table_filters.js:759 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:785 +#: templates/js/translated/table_filters.js:821 #, fuzzy #| msgid "Units" msgid "Has Choices" @@ -13442,38 +13665,51 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:239 +#: users/models.py:240 msgid "Permission set" msgstr "权限设置" -#: users/models.py:247 +#: users/models.py:248 msgid "Group" msgstr "群组" -#: users/models.py:250 +#: users/models.py:251 msgid "View" msgstr "视图" -#: users/models.py:250 +#: users/models.py:251 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:252 +#: users/models.py:253 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:254 +#: users/models.py:255 msgid "Change" msgstr "更改" -#: users/models.py:254 +#: users/models.py:255 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:256 +#: users/models.py:257 msgid "Permission to delete items" msgstr "删除项目权限" +#, fuzzy +#~| msgid "Chosen value is not a valid option" +#~ msgid "Provided value is not a valid number" +#~ msgstr "选择的值不是一个有效的选项" + +#~ msgid "This stock item has already been allocated to this build output" +#~ msgstr "此库存项已被分配至此生产产出" + +#, fuzzy +#~| msgid "Build Description" +#~ msgid "Plugin Description" +#~ msgstr "构建描述" + #~ msgid "Chinese" #~ msgstr "中文(简体)" @@ -13551,9 +13787,6 @@ msgstr "删除项目权限" #~ msgid "This Build Order is allocated to Sales Order %(link)s" #~ msgstr "此构建订单已分配给销售订单 %(link)s" -#~ msgid "Printing Actions" -#~ msgstr "打印操作" - #~ msgid "Print labels" #~ msgstr "打印标签" diff --git a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po index ea1faff231..0edb2c3550 100644 --- a/InvenTree/locale/zh_hant/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_hant/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-29 21:02+0000\n" +"POT-Creation-Date: 2023-10-18 03:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,71 +18,69 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: InvenTree/api.py:66 +#: InvenTree/api.py:65 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:335 +#: InvenTree/api.py:330 msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:93 +#: InvenTree/conversion.py:92 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:115 -msgid "Provided value is not a valid number" -msgstr "" - -#: InvenTree/conversion.py:117 -msgid "Provided value has an invalid unit" -msgstr "" - -#: InvenTree/conversion.py:122 -msgid "Provided value could not be converted to the specified unit" +#: InvenTree/conversion.py:125 +#, python-brace-format +msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:127 -msgid "Error" +msgid "Invalid quantity supplied" msgstr "" -#: InvenTree/exceptions.py:90 +#: InvenTree/conversion.py:141 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:89 msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:131 +#: InvenTree/fields.py:127 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:801 build/serializers.py:435 -#: build/serializers.py:514 build/templates/build/sidebar.html:21 -#: company/models.py:737 company/templates/company/sidebar.html:37 -#: order/models.py:1102 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:200 InvenTree/models.py:784 build/serializers.py:433 +#: build/serializers.py:511 build/templates/build/sidebar.html:21 +#: company/models.py:732 company/templates/company/sidebar.html:37 +#: order/models.py:1088 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3066 part/templates/part/part_sidebar.html:63 +#: part/models.py:3032 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2191 stock/models.py:2299 -#: stock/serializers.py:419 stock/serializers.py:553 stock/serializers.py:649 -#: stock/serializers.py:707 stock/serializers.py:999 stock/serializers.py:1098 -#: stock/serializers.py:1259 stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1254 +#: stock/admin.py:139 stock/models.py:2253 stock/models.py:2361 +#: stock/serializers.py:417 stock/serializers.py:551 stock/serializers.py:645 +#: stock/serializers.py:701 stock/serializers.py:1029 stock/serializers.py:1128 +#: stock/serializers.py:1289 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1259 #: templates/js/translated/company.js:1674 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1061 -#: templates/js/translated/purchase_order.js:2175 -#: templates/js/translated/return_order.js:769 +#: templates/js/translated/part.js:1077 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 #: templates/js/translated/sales_order.js:1064 #: templates/js/translated/sales_order.js:1979 -#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2360 +#: templates/js/translated/stock.js:1516 templates/js/translated/stock.js:2398 msgid "Notes" msgstr "" -#: InvenTree/format.py:152 +#: InvenTree/format.py:148 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" msgstr "" -#: InvenTree/format.py:162 +#: InvenTree/format.py:158 msgid "Provided value does not match required pattern: " msgstr "" @@ -106,99 +104,99 @@ msgstr "" msgid "Old password" msgstr "" -#: InvenTree/forms.py:200 +#: InvenTree/forms.py:199 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:203 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:225 +#: InvenTree/forms.py:224 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:256 InvenTree/forms.py:262 +#: InvenTree/forms.py:255 InvenTree/forms.py:261 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:268 +#: InvenTree/forms.py:267 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/forms.py:373 +#: InvenTree/forms.py:371 msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 +#: InvenTree/helpers.py:452 order/models.py:446 order/models.py:615 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:470 +#: InvenTree/helpers.py:460 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:500 +#: InvenTree/helpers.py:490 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:533 InvenTree/helpers.py:568 +#: InvenTree/helpers.py:523 InvenTree/helpers.py:558 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:562 +#: InvenTree/helpers.py:552 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 +#: InvenTree/helpers.py:576 InvenTree/helpers.py:583 InvenTree/helpers.py:598 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:618 +#: InvenTree/helpers.py:608 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:621 +#: InvenTree/helpers.py:611 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:751 +#: InvenTree/helpers.py:740 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers_model.py:125 +#: InvenTree/helpers_model.py:123 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:129 InvenTree/helpers_model.py:134 +#: InvenTree/helpers_model.py:127 InvenTree/helpers_model.py:132 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:131 +#: InvenTree/helpers_model.py:129 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:139 +#: InvenTree/helpers_model.py:137 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:142 +#: InvenTree/helpers_model.py:140 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:154 +#: InvenTree/helpers_model.py:152 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:159 +#: InvenTree/helpers_model.py:157 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:167 +#: InvenTree/helpers_model.py:165 msgid "Supplied URL is not a valid image file" msgstr "" @@ -214,248 +212,252 @@ msgstr "" msgid "Email" msgstr "" -#: InvenTree/models.py:82 +#: InvenTree/models.py:81 msgid "Metadata must be a python dict object" msgstr "" -#: InvenTree/models.py:86 +#: InvenTree/models.py:85 msgid "Plugin Metadata" msgstr "" -#: InvenTree/models.py:87 +#: InvenTree/models.py:86 msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:320 +#: InvenTree/models.py:312 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:327 +#: InvenTree/models.py:319 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:333 +#: InvenTree/models.py:325 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:345 +#: InvenTree/models.py:336 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:352 +#: InvenTree/models.py:343 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:383 +#: InvenTree/models.py:373 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:466 +#: InvenTree/models.py:455 msgid "Missing file" msgstr "" -#: InvenTree/models.py:467 +#: InvenTree/models.py:456 msgid "Missing external link" msgstr "" -#: InvenTree/models.py:487 stock/models.py:2293 +#: InvenTree/models.py:475 stock/models.py:2355 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:326 msgid "Attachment" msgstr "" -#: InvenTree/models.py:488 +#: InvenTree/models.py:476 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:494 common/models.py:2770 company/models.py:128 -#: company/models.py:391 company/models.py:445 company/models.py:724 -#: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:905 +#: InvenTree/models.py:482 common/models.py:2853 company/models.py:128 +#: company/models.py:386 company/models.py:440 company/models.py:719 +#: order/models.py:234 order/models.py:1092 order/models.py:1450 +#: part/admin.py:39 part/models.py:897 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:1309 +#: stock/admin.py:138 templates/js/translated/company.js:1309 #: templates/js/translated/company.js:1663 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2430 -#: templates/js/translated/purchase_order.js:2015 -#: templates/js/translated/purchase_order.js:2179 -#: templates/js/translated/return_order.js:773 +#: templates/js/translated/part.js:2451 +#: templates/js/translated/purchase_order.js:2019 +#: templates/js/translated/purchase_order.js:2183 +#: templates/js/translated/return_order.js:777 #: templates/js/translated/sales_order.js:1053 #: templates/js/translated/sales_order.js:1984 msgid "Link" msgstr "" -#: InvenTree/models.py:495 build/models.py:295 part/models.py:906 -#: stock/models.py:735 +#: InvenTree/models.py:483 build/models.py:295 part/models.py:898 +#: stock/models.py:800 msgid "Link to external URL" msgstr "" -#: InvenTree/models.py:498 templates/js/translated/attachment.js:120 +#: InvenTree/models.py:486 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:341 msgid "Comment" msgstr "" -#: InvenTree/models.py:498 +#: InvenTree/models.py:486 msgid "File comment" msgstr "" -#: InvenTree/models.py:504 InvenTree/models.py:505 common/models.py:2229 -#: common/models.py:2230 common/models.py:2443 common/models.py:2444 -#: common/models.py:2700 common/models.py:2701 part/models.py:3074 -#: part/models.py:3162 part/models.py:3241 part/models.py:3261 -#: plugin/models.py:224 plugin/models.py:225 +#: InvenTree/models.py:492 InvenTree/models.py:493 common/models.py:2313 +#: common/models.py:2314 common/models.py:2526 common/models.py:2527 +#: common/models.py:2783 common/models.py:2784 part/models.py:3040 +#: part/models.py:3125 part/models.py:3204 part/models.py:3224 +#: plugin/models.py:229 plugin/models.py:230 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3007 msgid "User" msgstr "" -#: InvenTree/models.py:508 +#: InvenTree/models.py:496 msgid "upload date" msgstr "" -#: InvenTree/models.py:530 +#: InvenTree/models.py:517 msgid "Filename must not be empty" msgstr "" -#: InvenTree/models.py:539 +#: InvenTree/models.py:526 msgid "Invalid attachment directory" msgstr "" -#: InvenTree/models.py:549 +#: InvenTree/models.py:536 #, python-brace-format msgid "Filename contains illegal character '{c}'" msgstr "" -#: InvenTree/models.py:552 +#: InvenTree/models.py:539 msgid "Filename missing extension" msgstr "" -#: InvenTree/models.py:559 +#: InvenTree/models.py:546 msgid "Attachment with this filename already exists" msgstr "" -#: InvenTree/models.py:566 +#: InvenTree/models.py:553 msgid "Error renaming file" msgstr "" -#: InvenTree/models.py:621 +#: InvenTree/models.py:606 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:640 +#: InvenTree/models.py:624 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:665 InvenTree/models.py:666 common/models.py:2429 -#: common/models.py:2877 company/models.py:529 label/models.py:119 -#: part/models.py:851 part/models.py:3461 plugin/models.py:42 -#: report/models.py:164 templates/InvenTree/settings/mixins/urls.html:13 +#: InvenTree/models.py:649 InvenTree/models.py:650 common/models.py:2512 +#: common/models.py:2958 company/models.py:524 label/models.py:119 +#: part/models.py:843 part/models.py:3422 plugin/models.py:42 +#: report/models.py:170 stock/models.py:71 stock/models.py:72 +#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:426 #: templates/js/translated/company.js:666 #: templates/js/translated/company.js:714 #: templates/js/translated/company.js:903 #: templates/js/translated/company.js:1155 -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1167 -#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1591 -#: templates/js/translated/part.js:2723 templates/js/translated/stock.js:2649 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1183 +#: templates/js/translated/part.js:1471 templates/js/translated/part.js:1607 +#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2687 msgid "Name" msgstr "" -#: InvenTree/models.py:672 build/models.py:168 +#: InvenTree/models.py:656 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:125 -#: company/models.py:451 company/models.py:730 +#: company/models.py:446 company/models.py:725 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:126 -#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:873 part/models.py:3477 part/templates/part/category.html:81 +#: order/models.py:226 order/models.py:1116 part/admin.py:191 part/admin.py:272 +#: part/models.py:865 part/models.py:3438 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:177 -#: report/models.py:580 report/models.py:624 +#: part/templates/part/part_scheduling.html:12 report/models.py:183 +#: report/models.py:611 report/models.py:654 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:124 +#: stock/admin.py:42 stock/models.py:78 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:151 +#: templates/InvenTree/settings/settings_staff_js.html:431 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 -#: templates/js/translated/build.js:2109 templates/js/translated/company.js:518 +#: templates/js/translated/build.js:2121 templates/js/translated/company.js:518 #: templates/js/translated/company.js:1320 #: templates/js/translated/company.js:1631 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1219 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:1602 -#: templates/js/translated/part.js:1937 templates/js/translated/part.js:2329 -#: templates/js/translated/part.js:2759 templates/js/translated/part.js:2847 -#: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1824 -#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1953 templates/js/translated/part.js:2350 +#: templates/js/translated/part.js:2780 templates/js/translated/part.js:2868 +#: templates/js/translated/plugin.js:79 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2001 #: templates/js/translated/return_order.js:311 #: templates/js/translated/sales_order.js:799 #: templates/js/translated/sales_order.js:1809 -#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 -#: templates/js/translated/stock.js:2681 templates/js/translated/stock.js:2753 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2719 templates/js/translated/stock.js:2802 msgid "Description" msgstr "" -#: InvenTree/models.py:673 +#: InvenTree/models.py:657 stock/models.py:79 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:681 +#: InvenTree/models.py:665 msgid "parent" msgstr "" -#: InvenTree/models.py:688 InvenTree/models.py:689 -#: templates/js/translated/part.js:2768 templates/js/translated/stock.js:2690 +#: InvenTree/models.py:672 InvenTree/models.py:673 +#: templates/js/translated/part.js:2789 templates/js/translated/stock.js:2728 msgid "Path" msgstr "" -#: InvenTree/models.py:802 +#: InvenTree/models.py:785 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:829 +#: InvenTree/models.py:812 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:830 +#: InvenTree/models.py:813 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:835 +#: InvenTree/models.py:818 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:836 +#: InvenTree/models.py:819 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:881 +#: InvenTree/models.py:859 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:936 +#: InvenTree/models.py:912 msgid "Server Error" msgstr "" -#: InvenTree/models.py:937 +#: InvenTree/models.py:913 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3980 +#: InvenTree/serializers.py:59 part/models.py:3935 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2913 +#: InvenTree/serializers.py:88 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2879 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:93 +#: InvenTree/serializers.py:91 msgid "Select currency from available options" msgstr "" @@ -509,136 +511,136 @@ msgstr "" msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:713 +#: InvenTree/serializers.py:712 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:714 +#: InvenTree/serializers.py:713 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:728 +#: InvenTree/serializers.py:726 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:756 +#: InvenTree/settings.py:814 msgid "Czech" msgstr "" -#: InvenTree/settings.py:757 +#: InvenTree/settings.py:815 msgid "Danish" msgstr "" -#: InvenTree/settings.py:758 +#: InvenTree/settings.py:816 msgid "German" msgstr "" -#: InvenTree/settings.py:759 +#: InvenTree/settings.py:817 msgid "Greek" msgstr "" -#: InvenTree/settings.py:760 +#: InvenTree/settings.py:818 msgid "English" msgstr "" -#: InvenTree/settings.py:761 +#: InvenTree/settings.py:819 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:762 +#: InvenTree/settings.py:820 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:763 +#: InvenTree/settings.py:821 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:764 +#: InvenTree/settings.py:822 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:765 +#: InvenTree/settings.py:823 msgid "French" msgstr "" -#: InvenTree/settings.py:766 +#: InvenTree/settings.py:824 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:767 +#: InvenTree/settings.py:825 msgid "Hindi" msgstr "" -#: InvenTree/settings.py:768 +#: InvenTree/settings.py:826 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:769 +#: InvenTree/settings.py:827 msgid "Italian" msgstr "" -#: InvenTree/settings.py:770 +#: InvenTree/settings.py:828 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:771 +#: InvenTree/settings.py:829 msgid "Korean" msgstr "" -#: InvenTree/settings.py:772 +#: InvenTree/settings.py:830 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:773 +#: InvenTree/settings.py:831 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:774 +#: InvenTree/settings.py:832 msgid "Polish" msgstr "" -#: InvenTree/settings.py:775 +#: InvenTree/settings.py:833 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:776 +#: InvenTree/settings.py:834 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:777 +#: InvenTree/settings.py:835 msgid "Russian" msgstr "" -#: InvenTree/settings.py:778 +#: InvenTree/settings.py:836 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:779 +#: InvenTree/settings.py:837 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:780 +#: InvenTree/settings.py:838 msgid "Thai" msgstr "" -#: InvenTree/settings.py:781 +#: InvenTree/settings.py:839 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:782 +#: InvenTree/settings.py:840 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:783 +#: InvenTree/settings.py:841 msgid "Chinese (Simplified)" msgstr "" -#: InvenTree/settings.py:784 +#: InvenTree/settings.py:842 msgid "Chinese (Traditional)" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:1000 +#: InvenTree/status.py:68 part/serializers.py:993 msgid "Background worker check failed" msgstr "" @@ -653,7 +655,7 @@ msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:558 +#: templates/js/translated/table_filters.js:594 msgid "Pending" msgstr "" @@ -687,7 +689,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1345 +#: InvenTree/status_codes.py:42 order/models.py:1329 #: templates/js/translated/sales_order.js:1520 #: templates/js/translated/sales_order.js:1641 #: templates/js/translated/sales_order.js:1954 @@ -722,7 +724,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 msgid "Stock item created" msgstr "" @@ -778,7 +780,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1826 msgid "Merged stock items" msgstr "" @@ -798,7 +800,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1732 msgid "Consumed by build order" msgstr "" @@ -814,7 +816,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:351 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" msgstr "" @@ -846,93 +848,93 @@ msgstr "" msgid "Reject" msgstr "" -#: InvenTree/validators.py:32 InvenTree/validators.py:34 +#: InvenTree/validators.py:31 InvenTree/validators.py:33 msgid "Invalid physical unit" msgstr "" -#: InvenTree/validators.py:40 +#: InvenTree/validators.py:39 msgid "Not a valid currency code" msgstr "" -#: InvenTree/validators.py:109 InvenTree/validators.py:125 +#: InvenTree/validators.py:106 InvenTree/validators.py:122 msgid "Overage value must not be negative" msgstr "" -#: InvenTree/validators.py:127 +#: InvenTree/validators.py:124 msgid "Overage must not exceed 100%" msgstr "" -#: InvenTree/validators.py:134 +#: InvenTree/validators.py:131 msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:405 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:403 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:417 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:415 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:439 +#: InvenTree/views.py:437 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:447 +#: InvenTree/views.py:445 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:644 templates/navbar.html:157 +#: InvenTree/views.py:642 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:168 +#: InvenTree/views.py:649 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:243 +#: build/api.py:237 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:287 part/models.py:3872 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2493 +#: build/api.py:281 part/models.py:3827 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2505 #: templates/js/translated/table_filters.js:190 -#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:579 msgid "Consumable" msgstr "" -#: build/api.py:288 part/models.py:3866 part/templates/part/upload_bom.html:58 +#: build/api.py:282 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2502 +#: templates/js/translated/build.js:2514 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 -#: templates/js/translated/table_filters.js:547 +#: templates/js/translated/table_filters.js:583 msgid "Optional" msgstr "" -#: build/api.py:289 templates/js/translated/table_filters.js:384 -#: templates/js/translated/table_filters.js:539 +#: build/api.py:283 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:575 msgid "Tracked" msgstr "" -#: build/api.py:291 part/admin.py:64 templates/js/translated/build.js:1717 -#: templates/js/translated/build.js:2593 +#: build/api.py:285 part/admin.py:64 templates/js/translated/build.js:1725 +#: templates/js/translated/build.js:2605 #: templates/js/translated/sales_order.js:1926 -#: templates/js/translated/table_filters.js:531 +#: templates/js/translated/table_filters.js:567 msgid "Allocated" msgstr "" -#: build/api.py:301 company/models.py:772 +#: build/api.py:293 company/models.py:766 #: company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1157 templates/js/translated/build.js:2534 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2546 #: templates/js/translated/index.js:123 -#: templates/js/translated/model_renderers.js:223 -#: templates/js/translated/part.js:673 templates/js/translated/part.js:675 -#: templates/js/translated/part.js:680 -#: templates/js/translated/table_filters.js:316 -#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/part.js:689 templates/js/translated/part.js:691 +#: templates/js/translated/part.js:696 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:571 msgid "Available" msgstr "" @@ -941,7 +943,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2814 +#: templates/js/translated/build.js:961 templates/js/translated/stock.js:2863 msgid "Build Order" msgstr "" @@ -964,18 +966,18 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:160 order/models.py:372 order/models.py:778 -#: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3881 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:363 order/models.py:768 +#: order/models.py:1086 order/models.py:1722 part/admin.py:274 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2485 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2497 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2040 -#: templates/js/translated/return_order.js:722 +#: templates/js/translated/purchase_order.js:2044 +#: templates/js/translated/return_order.js:726 #: templates/js/translated/sales_order.js:1815 msgid "Reference" msgstr "" @@ -994,13 +996,13 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:915 -#: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2926 part/models.py:3040 -#: part/models.py:3180 part/models.py:3199 part/models.py:3218 -#: part/models.py:3239 part/models.py:3331 part/models.py:3616 -#: part/models.py:3739 part/models.py:3846 part/models.py:4172 -#: part/serializers.py:958 part/serializers.py:1373 +#: build/templates/build/detail.html:29 company/models.py:907 +#: order/models.py:1193 order/models.py:1308 order/models.py:1309 +#: part/models.py:392 part/models.py:2892 part/models.py:3006 +#: part/models.py:3143 part/models.py:3162 part/models.py:3181 +#: part/models.py:3202 part/models.py:3294 part/models.py:3573 +#: part/models.py:3695 part/models.py:3801 part/models.py:4124 +#: part/serializers.py:952 part/serializers.py:1365 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1011,7 +1013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:206 stock/serializers.py:587 +#: stock/serializers.py:206 stock/serializers.py:585 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -1019,28 +1021,28 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1716 -#: templates/js/translated/build.js:2132 templates/js/translated/build.js:2305 +#: templates/js/translated/build.js:1293 templates/js/translated/build.js:1724 +#: templates/js/translated/build.js:2144 templates/js/translated/build.js:2317 #: templates/js/translated/company.js:348 #: templates/js/translated/company.js:1106 #: templates/js/translated/company.js:1261 #: templates/js/translated/company.js:1549 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1922 templates/js/translated/part.js:1994 -#: templates/js/translated/part.js:2298 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1938 templates/js/translated/part.js:2010 +#: templates/js/translated/part.js:2319 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1823 -#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:1986 #: templates/js/translated/return_order.js:536 -#: templates/js/translated/return_order.js:703 +#: templates/js/translated/return_order.js:707 #: templates/js/translated/sales_order.js:297 #: templates/js/translated/sales_order.js:1194 #: templates/js/translated/sales_order.js:1595 #: templates/js/translated/sales_order.js:1793 -#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 -#: templates/js/translated/stock.js:2779 templates/js/translated/stock.js:3012 -#: templates/js/translated/stock.js:3149 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1967 +#: templates/js/translated/stock.js:2828 templates/js/translated/stock.js:3061 +#: templates/js/translated/stock.js:3202 msgid "Part" msgstr "" @@ -1056,8 +1058,8 @@ msgstr "" msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1704 +#: build/models.py:207 build/serializers.py:942 +#: templates/js/translated/build.js:1712 #: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1098,17 +1100,17 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 -#: stock/models.py:739 stock/serializers.py:1223 +#: build/models.py:250 build/serializers.py:275 order/serializers.py:508 +#: stock/models.py:804 stock/serializers.py:1253 #: templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:254 build/serializers.py:278 +#: build/models.py:254 build/serializers.py:276 msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1043 +#: build/models.py:257 order/models.py:242 part/models.py:1035 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:336 #: templates/js/translated/sales_order.js:824 @@ -1123,8 +1125,8 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2217 +#: build/models.py:265 order/models.py:413 order/models.py:1765 +#: templates/js/translated/build.js:2229 msgid "Completion Date" msgstr "" @@ -1132,7 +1134,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2177 +#: build/models.py:279 templates/js/translated/build.js:2189 msgid "Issued by" msgstr "" @@ -1141,16 +1143,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:288 build/templates/build/build_base.html:205 -#: build/templates/build/detail.html:122 order/models.py:262 +#: build/templates/build/detail.html:122 order/models.py:256 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1047 +#: order/templates/order/sales_order_base.html:229 part/models.py:1039 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2189 -#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/build.js:2201 +#: templates/js/translated/purchase_order.js:1742 #: templates/js/translated/return_order.js:356 -#: templates/js/translated/table_filters.js:491 +#: templates/js/translated/table_filters.js:527 msgid "Responsible" msgstr "" @@ -1164,7 +1166,7 @@ msgstr "" #: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 -#: part/templates/part/part_base.html:385 stock/models.py:733 +#: part/templates/part/part_base.html:385 stock/models.py:798 #: stock/templates/stock/item_base.html:201 #: templates/js/translated/company.js:1009 msgid "External Link" @@ -1179,9 +1181,9 @@ msgid "Priority of this build order" msgstr "" #: build/models.py:309 common/models.py:118 order/admin.py:17 -#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:146 -#: templates/js/translated/build.js:2114 -#: templates/js/translated/purchase_order.js:1685 +#: order/models.py:231 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2126 +#: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/return_order.js:315 #: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:48 @@ -1193,48 +1195,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:550 +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:556 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:766 build/models.py:844 +#: build/models.py:761 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:769 +#: build/models.py:764 msgid "Build output is already completed" msgstr "" -#: build/models.py:772 +#: build/models.py:767 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:848 build/serializers.py:220 build/serializers.py:259 -#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1215 part/serializers.py:1536 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:392 +#: build/models.py:840 build/serializers.py:218 build/serializers.py:257 +#: build/serializers.py:815 order/models.py:444 order/serializers.py:381 +#: order/serializers.py:503 part/serializers.py:1207 part/serializers.py:1529 +#: stock/models.py:658 stock/models.py:1451 stock/serializers.py:390 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:853 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:223 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1274 +#: build/models.py:1259 msgid "Build object" msgstr "" -#: build/models.py:1288 build/models.py:1548 build/serializers.py:206 -#: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2251 -#: order/models.py:1086 order/models.py:1658 order/serializers.py:1261 -#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3053 part/models.py:3862 +#: build/models.py:1273 build/models.py:1531 build/serializers.py:205 +#: build/serializers.py:242 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2335 +#: order/models.py:1073 order/models.py:1644 order/serializers.py:1254 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:273 +#: part/forms.py:47 part/models.py:3019 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1244,380 +1246,376 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:383 +#: stock/admin.py:121 stock/serializers.py:381 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:981 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1342 -#: templates/js/translated/build.js:1719 templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:726 templates/js/translated/build.js:1350 +#: templates/js/translated/build.js:1727 templates/js/translated/build.js:2339 #: templates/js/translated/company.js:1808 -#: templates/js/translated/model_renderers.js:225 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:942 -#: templates/js/translated/part.js:1792 templates/js/translated/part.js:3284 +#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:958 +#: templates/js/translated/part.js:1808 templates/js/translated/part.js:3305 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2046 +#: templates/js/translated/purchase_order.js:1831 +#: templates/js/translated/purchase_order.js:2050 #: templates/js/translated/sales_order.js:314 #: templates/js/translated/sales_order.js:1196 #: templates/js/translated/sales_order.js:1515 #: templates/js/translated/sales_order.js:1605 #: templates/js/translated/sales_order.js:1695 #: templates/js/translated/sales_order.js:1821 -#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2943 -#: templates/js/translated/stock.js:3024 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:2992 +#: templates/js/translated/stock.js:3073 msgid "Quantity" msgstr "" -#: build/models.py:1289 +#: build/models.py:1274 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1371 +#: build/models.py:1354 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1380 +#: build/models.py:1363 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1390 order/models.py:1614 +#: build/models.py:1373 order/models.py:1600 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1396 order/models.py:1617 +#: build/models.py:1379 order/models.py:1603 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1402 +#: build/models.py:1385 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1463 +#: build/models.py:1446 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1535 build/serializers.py:799 order/serializers.py:1087 -#: order/serializers.py:1108 stock/serializers.py:490 stock/serializers.py:930 -#: stock/serializers.py:1056 stock/templates/stock/item_base.html:10 +#: build/models.py:1518 build/serializers.py:795 order/serializers.py:1082 +#: order/serializers.py:1103 stock/serializers.py:488 stock/serializers.py:960 +#: stock/serializers.py:1086 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1718 +#: templates/js/translated/build.js:1726 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1195 #: templates/js/translated/sales_order.js:1496 #: templates/js/translated/sales_order.js:1501 #: templates/js/translated/sales_order.js:1602 #: templates/js/translated/sales_order.js:1689 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2948 msgid "Stock Item" msgstr "" -#: build/models.py:1536 +#: build/models.py:1519 msgid "Source stock item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1532 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Install into" msgstr "" -#: build/models.py:1558 +#: build/models.py:1541 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1295 +#: build/serializers.py:155 build/serializers.py:824 +#: templates/js/translated/build.js:1303 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:167 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:171 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:175 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:186 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:245 +#: build/serializers.py:206 build/serializers.py:243 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:266 +#: build/serializers.py:264 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:269 +#: build/serializers.py:267 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1265 -#: stock/serializers.py:401 templates/js/translated/purchase_order.js:1138 -#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 +#: build/serializers.py:282 order/serializers.py:516 order/serializers.py:1258 +#: stock/serializers.py:399 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:285 +#: build/serializers.py:283 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:298 +#: build/serializers.py:296 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:299 +#: build/serializers.py:297 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:736 +#: build/serializers.py:332 stock/api.py:788 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 +#: build/serializers.py:383 build/serializers.py:445 build/serializers.py:523 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1616 part/serializers.py:970 -#: stock/serializers.py:412 stock/serializers.py:548 stock/serializers.py:644 -#: stock/serializers.py:1091 stock/serializers.py:1362 +#: build/serializers.py:421 build/serializers.py:493 order/serializers.py:489 +#: order/serializers.py:608 order/serializers.py:1606 part/serializers.py:964 +#: stock/serializers.py:410 stock/serializers.py:546 stock/serializers.py:640 +#: stock/serializers.py:1121 stock/serializers.py:1392 #: stock/templates/stock/item_base.html:395 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2342 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:988 +#: templates/js/translated/build.js:2354 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1508 #: templates/js/translated/sales_order.js:1616 #: templates/js/translated/sales_order.js:1624 #: templates/js/translated/sales_order.js:1703 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2133 -#: templates/js/translated/stock.js:2793 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2171 +#: templates/js/translated/stock.js:2842 msgid "Location" msgstr "" -#: build/serializers.py:424 +#: build/serializers.py:422 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:430 +#: build/serializers.py:428 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:431 +#: build/serializers.py:429 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:436 +#: build/serializers.py:434 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:497 +#: build/serializers.py:494 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:503 build/templates/build/build_base.html:152 -#: build/templates/build/detail.html:62 order/models.py:804 -#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 -#: stock/serializers.py:703 stock/serializers.py:1230 +#: build/serializers.py:500 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:794 +#: order/models.py:1748 order/serializers.py:526 stock/admin.py:124 +#: stock/serializers.py:697 stock/serializers.py:1260 #: stock/templates/stock/item_base.html:428 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2161 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2173 #: templates/js/translated/purchase_order.js:1293 -#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/purchase_order.js:1701 #: templates/js/translated/return_order.js:328 #: templates/js/translated/sales_order.js:816 -#: templates/js/translated/stock.js:2108 templates/js/translated/stock.js:2917 -#: templates/js/translated/stock.js:3040 +#: templates/js/translated/stock.js:2146 templates/js/translated/stock.js:2966 +#: templates/js/translated/stock.js:3089 msgid "Status" msgstr "" -#: build/serializers.py:509 +#: build/serializers.py:506 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:510 +#: build/serializers.py:507 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:576 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:580 +#: build/serializers.py:577 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:586 +#: build/serializers.py:583 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:587 +#: build/serializers.py:584 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:614 +#: build/serializers.py:611 msgid "Not permitted" msgstr "" -#: build/serializers.py:615 +#: build/serializers.py:612 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:616 +#: build/serializers.py:613 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:639 +#: build/serializers.py:635 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:641 +#: build/serializers.py:637 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:647 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:656 +#: build/serializers.py:652 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:657 +#: build/serializers.py:653 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:667 templates/js/translated/build.js:304 +#: build/serializers.py:663 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1155 +#: build/serializers.py:668 order/serializers.py:264 order/serializers.py:1150 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:673 +#: build/serializers.py:669 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:683 templates/js/translated/build.js:308 +#: build/serializers.py:679 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:692 templates/js/translated/build.js:292 +#: build/serializers.py:688 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:718 msgid "Build Line" msgstr "" -#: build/serializers.py:732 +#: build/serializers.py:728 msgid "Build output" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:736 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:772 msgid "Build Line Item" msgstr "" -#: build/serializers.py:790 +#: build/serializers.py:786 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:805 stock/serializers.py:943 +#: build/serializers.py:801 stock/serializers.py:973 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:853 order/serializers.py:1145 +#: build/serializers.py:849 order/serializers.py:1140 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:855 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:866 +#: build/serializers.py:862 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:871 -msgid "This stock item has already been allocated to this build output" -msgstr "" - -#: build/serializers.py:894 order/serializers.py:1429 +#: build/serializers.py:886 order/serializers.py:1422 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:947 +#: build/serializers.py:943 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:955 +#: build/serializers.py:951 msgid "Exclude Location" msgstr "" -#: build/serializers.py:956 +#: build/serializers.py:952 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:961 +#: build/serializers.py:957 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:962 +#: build/serializers.py:958 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:967 +#: build/serializers.py:963 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:968 +#: build/serializers.py:964 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:973 +#: build/serializers.py:969 msgid "Optional Items" msgstr "" -#: build/serializers.py:974 +#: build/serializers.py:970 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/tasks.py:150 +#: build/tasks.py:149 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:168 +#: build/tasks.py:166 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:173 +#: build/tasks.py:171 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" @@ -1734,16 +1732,16 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:161 -#: build/templates/build/detail.html:138 order/models.py:244 -#: order/models.py:1112 order/templates/order/order_base.html:186 +#: build/templates/build/detail.html:138 order/models.py:238 +#: order/models.py:1098 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2209 templates/js/translated/part.js:1810 -#: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/build.js:2221 templates/js/translated/part.js:1826 +#: templates/js/translated/purchase_order.js:1718 +#: templates/js/translated/purchase_order.js:2126 #: templates/js/translated/return_order.js:344 -#: templates/js/translated/return_order.js:744 +#: templates/js/translated/return_order.js:748 #: templates/js/translated/sales_order.js:832 #: templates/js/translated/sales_order.js:1864 msgid "Target Date" @@ -1760,9 +1758,9 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:98 -#: templates/js/translated/table_filters.js:484 -#: templates/js/translated/table_filters.js:586 -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:663 msgid "Overdue" msgstr "" @@ -1772,8 +1770,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:191 -#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1317 -#: order/models.py:1416 order/models.py:1564 +#: build/templates/build/detail.html:101 order/api.py:1410 order/models.py:1301 +#: order/models.py:1400 order/models.py:1548 #: 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 @@ -1783,7 +1781,7 @@ msgstr "" #: templates/js/translated/pricing.js:929 #: templates/js/translated/sales_order.js:766 #: templates/js/translated/sales_order.js:989 -#: templates/js/translated/stock.js:2846 +#: templates/js/translated/stock.js:2895 msgid "Sales Order" msgstr "" @@ -1795,7 +1793,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2126 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2138 msgid "Priority" msgstr "" @@ -1823,8 +1821,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2164 +#: build/templates/build/detail.html:49 order/models.py:1220 +#: templates/js/translated/purchase_order.js:2168 msgid "Destination" msgstr "" @@ -1836,15 +1834,15 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 stock/admin.py:105 +#: build/templates/build/detail.html:80 stock/admin.py:123 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1353 -#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/build.js:1361 +#: templates/js/translated/model_renderers.js:233 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2122 -#: templates/js/translated/stock.js:3047 -#: templates/js/translated/table_filters.js:289 -#: templates/js/translated/table_filters.js:380 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2160 +#: templates/js/translated/stock.js:3096 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 msgid "Batch" msgstr "" @@ -1852,7 +1850,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2169 +#: templates/js/translated/build.js:2181 msgid "Created" msgstr "" @@ -1862,7 +1860,7 @@ msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:685 msgid "Completed" msgstr "" @@ -2009,11 +2007,11 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:70 +#: common/models.py:71 msgid "Updated" msgstr "" -#: common/models.py:71 +#: common/models.py:72 msgid "Timestamp of last update" msgstr "" @@ -2025,1438 +2023,1467 @@ msgstr "" msgid "Project description" msgstr "" -#: common/models.py:595 +#: common/models.py:640 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:597 +#: common/models.py:642 msgid "Settings value" msgstr "" -#: common/models.py:638 +#: common/models.py:683 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:655 +#: common/models.py:700 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:666 +#: common/models.py:711 msgid "Value must be an integer value" msgstr "" -#: common/models.py:705 +#: common/models.py:750 msgid "Key string must be unique" msgstr "" -#: common/models.py:912 +#: common/models.py:955 msgid "No group" msgstr "" -#: common/models.py:937 +#: common/models.py:980 msgid "An empty domain is not allowed." msgstr "" -#: common/models.py:939 +#: common/models.py:982 #, python-brace-format msgid "Invalid domain name: {domain}" msgstr "" -#: common/models.py:996 +#: common/models.py:994 +msgid "No plugin" +msgstr "" + +#: common/models.py:1060 msgid "Restart required" msgstr "" -#: common/models.py:997 +#: common/models.py:1061 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1004 +#: common/models.py:1068 +msgid "Pending migrations" +msgstr "" + +#: common/models.py:1069 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1075 msgid "Server Instance Name" msgstr "" -#: common/models.py:1006 +#: common/models.py:1077 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1011 +#: common/models.py:1082 msgid "Use instance name" msgstr "" -#: common/models.py:1012 +#: common/models.py:1083 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1018 +#: common/models.py:1089 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1019 +#: common/models.py:1090 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1025 company/models.py:101 company/models.py:102 +#: common/models.py:1096 company/models.py:101 company/models.py:102 msgid "Company name" msgstr "" -#: common/models.py:1026 +#: common/models.py:1097 msgid "Internal company name" msgstr "" -#: common/models.py:1031 +#: common/models.py:1102 msgid "Base URL" msgstr "" -#: common/models.py:1032 +#: common/models.py:1103 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1039 +#: common/models.py:1110 msgid "Default Currency" msgstr "" -#: common/models.py:1040 +#: common/models.py:1111 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1047 -msgid "Download from URL" -msgstr "" - -#: common/models.py:1048 -msgid "Allow download of remote images and files from external URL" -msgstr "" - -#: common/models.py:1054 -msgid "Download Size Limit" -msgstr "" - -#: common/models.py:1055 -msgid "Maximum allowable download size for remote image" -msgstr "" - -#: common/models.py:1066 -msgid "User-agent used to download from URL" -msgstr "" - -#: common/models.py:1067 -msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" - -#: common/models.py:1072 -msgid "Require confirm" -msgstr "" - -#: common/models.py:1073 -msgid "Require explicit user confirmation for certain action." -msgstr "" - -#: common/models.py:1079 -msgid "Tree Depth" -msgstr "" - -#: common/models.py:1080 -msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" - -#: common/models.py:1089 -msgid "Update Check Interval" -msgstr "" - -#: common/models.py:1090 -msgid "How often to check for updates (set to zero to disable)" -msgstr "" - -#: common/models.py:1096 common/models.py:1114 common/models.py:1121 -#: common/models.py:1132 common/models.py:1143 common/models.py:1374 -#: common/models.py:1398 common/models.py:1521 common/models.py:1777 -msgid "days" -msgstr "" - -#: common/models.py:1100 -msgid "Automatic Backup" -msgstr "" - -#: common/models.py:1101 -msgid "Enable automatic backup of database and media files" -msgstr "" - -#: common/models.py:1107 -msgid "Auto Backup Interval" -msgstr "" - -#: common/models.py:1108 -msgid "Specify number of days between automated backup events" -msgstr "" - #: common/models.py:1118 -msgid "Task Deletion Interval" +msgid "Currency Update Interval" msgstr "" #: common/models.py:1119 -msgid "Background task results will be deleted after specified number of days" +msgid "How often to update exchange rates (set to zero to disable)" +msgstr "" + +#: common/models.py:1121 common/models.py:1185 common/models.py:1203 +#: common/models.py:1210 common/models.py:1221 common/models.py:1232 +#: common/models.py:1463 common/models.py:1487 common/models.py:1606 +#: common/models.py:1862 +msgid "days" msgstr "" #: common/models.py:1129 -msgid "Error Log Deletion Interval" +msgid "Currency Update Plugin" msgstr "" #: common/models.py:1130 -msgid "Error logs will be deleted after specified number of days" +msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1140 -msgid "Notification Deletion Interval" +#: common/models.py:1136 +msgid "Download from URL" msgstr "" -#: common/models.py:1141 -msgid "User notifications will be deleted after specified number of days" +#: common/models.py:1137 +msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1151 templates/InvenTree/settings/sidebar.html:31 -msgid "Barcode Support" +#: common/models.py:1143 +msgid "Download Size Limit" msgstr "" -#: common/models.py:1152 -msgid "Enable barcode scanner support" +#: common/models.py:1144 +msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1158 -msgid "Barcode Input Delay" +#: common/models.py:1155 +msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1159 -msgid "Barcode input processing delay time" +#: common/models.py:1156 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1161 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1162 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1168 +msgid "Tree Depth" msgstr "" #: common/models.py:1169 -msgid "Barcode Webcam Support" +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1170 -msgid "Allow barcode scanning via webcam in browser" +#: common/models.py:1178 +msgid "Update Check Interval" msgstr "" -#: common/models.py:1176 -msgid "Part Revisions" -msgstr "" - -#: common/models.py:1177 -msgid "Enable revision field for Part" -msgstr "" - -#: common/models.py:1183 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:1184 -msgid "Regular expression pattern for matching Part IPN" -msgstr "" - -#: common/models.py:1188 -msgid "Allow Duplicate IPN" +#: common/models.py:1179 +msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1189 -msgid "Allow multiple parts to share the same IPN" +msgid "Automatic Backup" msgstr "" -#: common/models.py:1195 -msgid "Allow Editing IPN" +#: common/models.py:1190 +msgid "Enable automatic backup of database and media files" msgstr "" #: common/models.py:1196 -msgid "Allow changing the IPN value while editing a part" +msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1202 -msgid "Copy Part BOM Data" +#: common/models.py:1197 +msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1203 -msgid "Copy BOM data by default when duplicating a part" +#: common/models.py:1207 +msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1209 -msgid "Copy Part Parameter Data" +#: common/models.py:1208 +msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1210 -msgid "Copy parameter data by default when duplicating a part" +#: common/models.py:1218 +msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1216 -msgid "Copy Part Test Data" +#: common/models.py:1219 +msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1217 -msgid "Copy test data by default when duplicating a part" +#: common/models.py:1229 +msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1223 -msgid "Copy Category Parameter Templates" +#: common/models.py:1230 +msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1224 -msgid "Copy category parameter templates when creating a part" +#: common/models.py:1240 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" msgstr "" -#: common/models.py:1230 part/admin.py:55 part/models.py:3621 -#: report/models.py:170 templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:727 -msgid "Template" +#: common/models.py:1241 +msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1231 -msgid "Parts are templates by default" +#: common/models.py:1247 +msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1237 part/admin.py:51 part/admin.py:283 part/models.py:1001 -#: templates/js/translated/bom.js:1628 -#: templates/js/translated/table_filters.js:306 -#: templates/js/translated/table_filters.js:681 -msgid "Assembly" +#: common/models.py:1248 +msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1238 -msgid "Parts can be assembled from other components by default" -msgstr "" - -#: common/models.py:1244 part/admin.py:52 part/models.py:1007 -#: templates/js/translated/table_filters.js:689 -msgid "Component" -msgstr "" - -#: common/models.py:1245 -msgid "Parts can be used as sub-components by default" -msgstr "" - -#: common/models.py:1251 part/admin.py:53 part/models.py:1018 -msgid "Purchaseable" -msgstr "" - -#: common/models.py:1252 -msgid "Parts are purchaseable by default" -msgstr "" - -#: common/models.py:1258 part/admin.py:54 part/models.py:1023 -#: templates/js/translated/table_filters.js:715 -msgid "Salable" +#: common/models.py:1258 +msgid "Barcode Webcam Support" msgstr "" #: common/models.py:1259 -msgid "Parts are salable by default" +msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1265 part/admin.py:56 part/models.py:1013 -#: templates/js/translated/table_filters.js:147 -#: templates/js/translated/table_filters.js:223 -#: templates/js/translated/table_filters.js:731 -msgid "Trackable" +#: common/models.py:1265 +msgid "Part Revisions" msgstr "" #: common/models.py:1266 -msgid "Parts are trackable by default" +msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1272 part/admin.py:57 part/models.py:1033 -#: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:735 -msgid "Virtual" +#: common/models.py:1272 +msgid "IPN Regex" msgstr "" #: common/models.py:1273 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1277 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1278 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1284 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1285 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1291 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1292 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1298 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1299 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1305 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1306 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1312 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1313 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1319 part/admin.py:55 part/models.py:3578 +#: report/models.py:176 templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:763 +msgid "Template" +msgstr "" + +#: common/models.py:1320 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1326 part/admin.py:51 part/admin.py:279 part/models.py:993 +#: templates/js/translated/bom.js:1633 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:717 +msgid "Assembly" +msgstr "" + +#: common/models.py:1327 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1333 part/admin.py:52 part/models.py:999 +#: templates/js/translated/table_filters.js:725 +msgid "Component" +msgstr "" + +#: common/models.py:1334 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1340 part/admin.py:53 part/models.py:1010 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1341 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1347 part/admin.py:54 part/models.py:1015 +#: templates/js/translated/table_filters.js:751 +msgid "Salable" +msgstr "" + +#: common/models.py:1348 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1354 part/admin.py:56 part/models.py:1005 +#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:767 +msgid "Trackable" +msgstr "" + +#: common/models.py:1355 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1361 part/admin.py:57 part/models.py:1025 +#: part/templates/part/part_base.html:156 +#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:771 +msgid "Virtual" +msgstr "" + +#: common/models.py:1362 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1279 +#: common/models.py:1368 msgid "Show Import in Views" msgstr "" -#: common/models.py:1280 +#: common/models.py:1369 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1286 +#: common/models.py:1375 msgid "Show related parts" msgstr "" -#: common/models.py:1287 +#: common/models.py:1376 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1293 +#: common/models.py:1382 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1294 +#: common/models.py:1383 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1300 templates/js/translated/part.js:107 +#: common/models.py:1389 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1301 +#: common/models.py:1390 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1307 +#: common/models.py:1396 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1308 +#: common/models.py:1397 msgid "Format to display the part name" msgstr "" -#: common/models.py:1315 +#: common/models.py:1404 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1316 +#: common/models.py:1405 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1321 +#: common/models.py:1410 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1322 +#: common/models.py:1411 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1328 +#: common/models.py:1417 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1329 +#: common/models.py:1418 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1339 +#: common/models.py:1428 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1340 +#: common/models.py:1429 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1350 +#: common/models.py:1439 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1351 +#: common/models.py:1440 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1357 +#: common/models.py:1446 msgid "Purchase History Override" msgstr "" -#: common/models.py:1358 +#: common/models.py:1447 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1364 +#: common/models.py:1453 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1365 +#: common/models.py:1454 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1371 +#: common/models.py:1460 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1372 +#: common/models.py:1461 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1382 +#: common/models.py:1471 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1383 +#: common/models.py:1472 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1389 +#: common/models.py:1478 msgid "Active Variants Only" msgstr "" -#: common/models.py:1390 +#: common/models.py:1479 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1396 +#: common/models.py:1485 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1397 +#: common/models.py:1486 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1407 +#: common/models.py:1496 msgid "Internal Prices" msgstr "" -#: common/models.py:1408 +#: common/models.py:1497 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1414 +#: common/models.py:1503 msgid "Internal Price Override" msgstr "" -#: common/models.py:1415 +#: common/models.py:1504 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1421 +#: common/models.py:1510 msgid "Enable label printing" msgstr "" -#: common/models.py:1422 +#: common/models.py:1511 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1428 +#: common/models.py:1517 msgid "Label Image DPI" msgstr "" -#: common/models.py:1429 +#: common/models.py:1518 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1438 +#: common/models.py:1527 msgid "Enable Reports" msgstr "" -#: common/models.py:1439 +#: common/models.py:1528 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1445 templates/stats.html:25 +#: common/models.py:1534 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1446 +#: common/models.py:1535 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1452 +#: common/models.py:1541 report/models.py:197 msgid "Page Size" msgstr "" -#: common/models.py:1453 +#: common/models.py:1542 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1463 +#: common/models.py:1548 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1464 +#: common/models.py:1549 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1470 +#: common/models.py:1555 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1471 +#: common/models.py:1556 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1477 +#: common/models.py:1562 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1478 +#: common/models.py:1563 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1484 +#: common/models.py:1569 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1485 +#: common/models.py:1570 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1491 +#: common/models.py:1576 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1492 +#: common/models.py:1577 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1498 +#: common/models.py:1583 msgid "Batch Code Template" msgstr "" -#: common/models.py:1499 +#: common/models.py:1584 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1504 +#: common/models.py:1589 msgid "Stock Expiry" msgstr "" -#: common/models.py:1505 +#: common/models.py:1590 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1511 +#: common/models.py:1596 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1512 +#: common/models.py:1597 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1518 +#: common/models.py:1603 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1519 +#: common/models.py:1604 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1526 +#: common/models.py:1611 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1527 +#: common/models.py:1612 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1533 +#: common/models.py:1618 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1534 +#: common/models.py:1619 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1540 +#: common/models.py:1625 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1541 +#: common/models.py:1626 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1546 +#: common/models.py:1631 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1547 +#: common/models.py:1632 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1553 +#: common/models.py:1638 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1554 +#: common/models.py:1639 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1560 +#: common/models.py:1645 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1561 +#: common/models.py:1646 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1567 +#: common/models.py:1652 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1568 +#: common/models.py:1653 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1574 +#: common/models.py:1659 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1575 +#: common/models.py:1660 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1581 +#: common/models.py:1666 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1582 +#: common/models.py:1667 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1588 +#: common/models.py:1673 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1589 +#: common/models.py:1674 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1595 +#: common/models.py:1680 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1596 +#: common/models.py:1681 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1602 +#: common/models.py:1687 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1603 +#: common/models.py:1688 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1609 +#: common/models.py:1694 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1610 +#: common/models.py:1695 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1617 +#: common/models.py:1702 msgid "Enable password forgot" msgstr "" -#: common/models.py:1618 +#: common/models.py:1703 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1624 +#: common/models.py:1709 msgid "Enable registration" msgstr "" -#: common/models.py:1625 +#: common/models.py:1710 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1631 +#: common/models.py:1716 msgid "Enable SSO" msgstr "" -#: common/models.py:1632 +#: common/models.py:1717 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1638 +#: common/models.py:1723 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1639 +#: common/models.py:1724 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1645 +#: common/models.py:1730 msgid "Email required" msgstr "" -#: common/models.py:1646 +#: common/models.py:1731 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1652 +#: common/models.py:1737 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1653 +#: common/models.py:1738 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1659 +#: common/models.py:1744 msgid "Mail twice" msgstr "" -#: common/models.py:1660 +#: common/models.py:1745 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1666 +#: common/models.py:1751 msgid "Password twice" msgstr "" -#: common/models.py:1667 +#: common/models.py:1752 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1673 +#: common/models.py:1758 msgid "Allowed domains" msgstr "" -#: common/models.py:1674 +#: common/models.py:1759 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1680 +#: common/models.py:1765 msgid "Group on signup" msgstr "" -#: common/models.py:1681 +#: common/models.py:1766 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1687 +#: common/models.py:1772 msgid "Enforce MFA" msgstr "" -#: common/models.py:1688 +#: common/models.py:1773 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1694 +#: common/models.py:1779 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1695 +#: common/models.py:1780 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1703 +#: common/models.py:1788 msgid "Enable URL integration" msgstr "" -#: common/models.py:1704 +#: common/models.py:1789 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1711 +#: common/models.py:1796 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1712 +#: common/models.py:1797 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1719 +#: common/models.py:1804 msgid "Enable app integration" msgstr "" -#: common/models.py:1720 +#: common/models.py:1805 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1727 +#: common/models.py:1812 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1728 +#: common/models.py:1813 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1735 +#: common/models.py:1820 msgid "Enable event integration" msgstr "" -#: common/models.py:1736 +#: common/models.py:1821 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1743 +#: common/models.py:1828 msgid "Enable project codes" msgstr "" -#: common/models.py:1744 +#: common/models.py:1829 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1750 +#: common/models.py:1835 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1751 +#: common/models.py:1836 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1757 +#: common/models.py:1842 msgid "Exclude External Locations" msgstr "" -#: common/models.py:1758 +#: common/models.py:1843 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:1764 +#: common/models.py:1849 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1765 +#: common/models.py:1850 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1774 +#: common/models.py:1859 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1775 +#: common/models.py:1860 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1792 common/models.py:2222 +#: common/models.py:1877 common/models.py:2306 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1833 +#: common/models.py:1917 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1834 +#: common/models.py:1918 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1840 +#: common/models.py:1924 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1841 +#: common/models.py:1925 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1847 +#: common/models.py:1931 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1848 +#: common/models.py:1932 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1854 +#: common/models.py:1938 msgid "Show latest parts" msgstr "" -#: common/models.py:1855 +#: common/models.py:1939 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1861 +#: common/models.py:1945 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1862 +#: common/models.py:1946 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1868 +#: common/models.py:1952 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1869 +#: common/models.py:1953 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1875 +#: common/models.py:1959 msgid "Show low stock" msgstr "" -#: common/models.py:1876 +#: common/models.py:1960 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1882 +#: common/models.py:1966 msgid "Show depleted stock" msgstr "" -#: common/models.py:1883 +#: common/models.py:1967 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1889 +#: common/models.py:1973 msgid "Show needed stock" msgstr "" -#: common/models.py:1890 +#: common/models.py:1974 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1896 +#: common/models.py:1980 msgid "Show expired stock" msgstr "" -#: common/models.py:1897 +#: common/models.py:1981 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1903 +#: common/models.py:1987 msgid "Show stale stock" msgstr "" -#: common/models.py:1904 +#: common/models.py:1988 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1910 +#: common/models.py:1994 msgid "Show pending builds" msgstr "" -#: common/models.py:1911 +#: common/models.py:1995 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1917 +#: common/models.py:2001 msgid "Show overdue builds" msgstr "" -#: common/models.py:1918 +#: common/models.py:2002 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1924 +#: common/models.py:2008 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1925 +#: common/models.py:2009 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1931 +#: common/models.py:2015 msgid "Show overdue POs" msgstr "" -#: common/models.py:1932 +#: common/models.py:2016 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1938 +#: common/models.py:2022 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1939 +#: common/models.py:2023 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1945 +#: common/models.py:2029 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1946 +#: common/models.py:2030 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1952 +#: common/models.py:2036 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1953 +#: common/models.py:2037 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1959 +#: common/models.py:2043 msgid "Show News" msgstr "" -#: common/models.py:1960 +#: common/models.py:2044 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1966 +#: common/models.py:2050 msgid "Inline label display" msgstr "" -#: common/models.py:1967 +#: common/models.py:2051 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1973 +#: common/models.py:2057 msgid "Default label printer" msgstr "" -#: common/models.py:1974 +#: common/models.py:2058 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1980 +#: common/models.py:2064 msgid "Inline report display" msgstr "" -#: common/models.py:1981 +#: common/models.py:2065 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1987 +#: common/models.py:2071 msgid "Search Parts" msgstr "" -#: common/models.py:1988 +#: common/models.py:2072 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1994 +#: common/models.py:2078 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1995 +#: common/models.py:2079 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2001 +#: common/models.py:2085 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2002 +#: common/models.py:2086 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2008 +#: common/models.py:2092 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2009 +#: common/models.py:2093 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2015 +#: common/models.py:2099 msgid "Search Categories" msgstr "" -#: common/models.py:2016 +#: common/models.py:2100 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2022 +#: common/models.py:2106 msgid "Search Stock" msgstr "" -#: common/models.py:2023 +#: common/models.py:2107 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2029 +#: common/models.py:2113 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2030 +#: common/models.py:2114 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2036 +#: common/models.py:2120 msgid "Search Locations" msgstr "" -#: common/models.py:2037 +#: common/models.py:2121 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2043 +#: common/models.py:2127 msgid "Search Companies" msgstr "" -#: common/models.py:2044 +#: common/models.py:2128 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2050 +#: common/models.py:2134 msgid "Search Build Orders" msgstr "" -#: common/models.py:2051 +#: common/models.py:2135 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2057 +#: common/models.py:2141 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2058 +#: common/models.py:2142 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2064 +#: common/models.py:2148 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2065 +#: common/models.py:2149 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2071 +#: common/models.py:2155 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2072 +#: common/models.py:2156 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2078 +#: common/models.py:2162 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2079 +#: common/models.py:2163 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2085 +#: common/models.py:2169 msgid "Search Return Orders" msgstr "" -#: common/models.py:2086 +#: common/models.py:2170 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2092 +#: common/models.py:2176 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2093 +#: common/models.py:2177 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2099 +#: common/models.py:2183 msgid "Search Preview Results" msgstr "" -#: common/models.py:2100 +#: common/models.py:2184 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2106 +#: common/models.py:2190 msgid "Regex Search" msgstr "" -#: common/models.py:2107 +#: common/models.py:2191 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2113 +#: common/models.py:2197 msgid "Whole Word Search" msgstr "" -#: common/models.py:2114 +#: common/models.py:2198 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2120 +#: common/models.py:2204 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2121 +#: common/models.py:2205 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2127 +#: common/models.py:2211 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2128 +#: common/models.py:2212 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2134 +#: common/models.py:2218 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2135 +#: common/models.py:2219 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2141 +#: common/models.py:2225 msgid "Date Format" msgstr "" -#: common/models.py:2142 +#: common/models.py:2226 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2156 part/templates/part/detail.html:41 +#: common/models.py:2240 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2157 +#: common/models.py:2241 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2163 part/templates/part/detail.html:62 +#: common/models.py:2247 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2164 +#: common/models.py:2248 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2170 +#: common/models.py:2254 msgid "Table String Length" msgstr "" -#: common/models.py:2171 +#: common/models.py:2255 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2180 +#: common/models.py:2264 msgid "Default part label template" msgstr "" -#: common/models.py:2181 +#: common/models.py:2265 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2189 +#: common/models.py:2273 msgid "Default stock item template" msgstr "" -#: common/models.py:2190 +#: common/models.py:2274 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2198 +#: common/models.py:2282 msgid "Default stock location label template" msgstr "" -#: common/models.py:2199 +#: common/models.py:2283 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2207 +#: common/models.py:2291 msgid "Receive error reports" msgstr "" -#: common/models.py:2208 +#: common/models.py:2292 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2252 +#: common/models.py:2336 msgid "Price break quantity" msgstr "" -#: common/models.py:2259 company/serializers.py:488 order/admin.py:43 -#: order/models.py:1145 order/models.py:1952 -#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1864 +#: common/models.py:2343 company/serializers.py:483 order/admin.py:41 +#: order/models.py:1131 order/models.py:1933 +#: templates/js/translated/company.js:1813 templates/js/translated/part.js:1880 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:734 +#: templates/js/translated/return_order.js:738 msgid "Price" msgstr "" -#: common/models.py:2260 +#: common/models.py:2344 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2420 common/models.py:2598 +#: common/models.py:2503 common/models.py:2681 msgid "Endpoint" msgstr "" -#: common/models.py:2421 +#: common/models.py:2504 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2430 +#: common/models.py:2513 msgid "Name for this webhook" msgstr "" -#: common/models.py:2435 part/admin.py:50 part/models.py:1028 +#: common/models.py:2518 part/admin.py:50 part/models.py:1020 #: plugin/models.py:48 templates/js/translated/table_filters.js:135 #: templates/js/translated/table_filters.js:219 -#: templates/js/translated/table_filters.js:464 -#: templates/js/translated/table_filters.js:480 -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:516 +#: templates/js/translated/table_filters.js:712 msgid "Active" msgstr "" -#: common/models.py:2436 +#: common/models.py:2519 msgid "Is this webhook active" msgstr "" -#: common/models.py:2450 +#: common/models.py:2533 msgid "Token" msgstr "" -#: common/models.py:2451 +#: common/models.py:2534 msgid "Token for access" msgstr "" -#: common/models.py:2458 +#: common/models.py:2541 msgid "Secret" msgstr "" -#: common/models.py:2459 +#: common/models.py:2542 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2565 +#: common/models.py:2648 msgid "Message ID" msgstr "" -#: common/models.py:2566 +#: common/models.py:2649 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2574 +#: common/models.py:2657 msgid "Host" msgstr "" -#: common/models.py:2575 +#: common/models.py:2658 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2582 +#: common/models.py:2665 msgid "Header" msgstr "" -#: common/models.py:2583 +#: common/models.py:2666 msgid "Header of this message" msgstr "" -#: common/models.py:2589 +#: common/models.py:2672 msgid "Body" msgstr "" -#: common/models.py:2590 +#: common/models.py:2673 msgid "Body of this message" msgstr "" -#: common/models.py:2599 +#: common/models.py:2682 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2604 +#: common/models.py:2687 msgid "Worked on" msgstr "" -#: common/models.py:2605 +#: common/models.py:2688 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2759 +#: common/models.py:2842 msgid "Id" msgstr "" -#: common/models.py:2765 templates/js/translated/company.js:955 +#: common/models.py:2848 templates/js/translated/company.js:955 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2775 templates/js/translated/news.js:60 +#: common/models.py:2858 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2780 templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 +#: common/models.py:2863 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:102 msgid "Author" msgstr "" -#: common/models.py:2785 templates/js/translated/news.js:52 +#: common/models.py:2868 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2790 +#: common/models.py:2873 msgid "Read" msgstr "" -#: common/models.py:2791 +#: common/models.py:2874 msgid "Was this news item read?" msgstr "" -#: common/models.py:2811 company/models.py:139 part/models.py:918 +#: common/models.py:2893 company/models.py:139 part/models.py:910 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3466,56 +3493,56 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2812 +#: common/models.py:2894 msgid "Image file" msgstr "" -#: common/models.py:2856 +#: common/models.py:2937 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:2878 +#: common/models.py:2959 msgid "Unit name" msgstr "" -#: common/models.py:2884 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:2965 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:2885 +#: common/models.py:2966 msgid "Optional unit symbol" msgstr "" -#: common/models.py:2891 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:2972 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:2892 +#: common/models.py:2973 msgid "Unit definition" msgstr "" -#: common/notifications.py:291 +#: common/notifications.py:290 #, python-brace-format msgid "New {verbose_name}" msgstr "" -#: common/notifications.py:293 +#: common/notifications.py:292 msgid "A new order has been created and assigned to you" msgstr "" -#: common/notifications.py:299 common/notifications.py:306 +#: common/notifications.py:298 common/notifications.py:305 msgid "Items Received" msgstr "" -#: common/notifications.py:301 +#: common/notifications.py:300 msgid "Items have been received against a purchase order" msgstr "" -#: common/notifications.py:308 +#: common/notifications.py:307 msgid "Items have been received against a return order" msgstr "" -#: common/notifications.py:420 +#: common/notifications.py:419 msgid "Error raised by plugin" msgstr "" @@ -3546,7 +3573,7 @@ msgstr "" msgid "Parts imported" msgstr "" -#: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 +#: common/views.py:508 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 #: order/templates/order/order_wizard/po_upload.html:49 #: part/templates/part/import_wizard/match_fields.html:27 @@ -3588,7 +3615,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:125 company/templates/company/company_base.html:140 -#: order/models.py:270 order/templates/order/order_base.html:203 +#: order/models.py:264 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3630,301 +3657,301 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:235 company/models.py:338 +#: company/models.py:232 company/models.py:333 #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:495 msgid "Company" msgstr "" -#: company/models.py:339 +#: company/models.py:334 msgid "Select company" msgstr "" -#: company/models.py:342 +#: company/models.py:337 msgid "Address title" msgstr "" -#: company/models.py:343 +#: company/models.py:338 msgid "Title describing the address entry" msgstr "" -#: company/models.py:347 +#: company/models.py:342 msgid "Primary address" msgstr "" -#: company/models.py:348 +#: company/models.py:343 msgid "Set as primary address" msgstr "" -#: company/models.py:351 templates/js/translated/company.js:904 +#: company/models.py:346 templates/js/translated/company.js:904 #: templates/js/translated/company.js:961 msgid "Line 1" msgstr "" -#: company/models.py:352 +#: company/models.py:347 msgid "Address line 1" msgstr "" -#: company/models.py:356 templates/js/translated/company.js:905 +#: company/models.py:351 templates/js/translated/company.js:905 #: templates/js/translated/company.js:967 msgid "Line 2" msgstr "" -#: company/models.py:357 +#: company/models.py:352 msgid "Address line 2" msgstr "" -#: company/models.py:361 company/models.py:362 +#: company/models.py:356 company/models.py:357 #: templates/js/translated/company.js:973 msgid "Postal code" msgstr "" -#: company/models.py:366 +#: company/models.py:361 msgid "City/Region" msgstr "" -#: company/models.py:367 +#: company/models.py:362 msgid "Postal code city/region" msgstr "" -#: company/models.py:371 +#: company/models.py:366 msgid "State/Province" msgstr "" -#: company/models.py:372 +#: company/models.py:367 msgid "State or province" msgstr "" -#: company/models.py:376 templates/js/translated/company.js:991 +#: company/models.py:371 templates/js/translated/company.js:991 msgid "Country" msgstr "" -#: company/models.py:377 +#: company/models.py:372 msgid "Address country" msgstr "" -#: company/models.py:381 +#: company/models.py:376 msgid "Courier shipping notes" msgstr "" -#: company/models.py:382 +#: company/models.py:377 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:386 +#: company/models.py:381 msgid "Internal shipping notes" msgstr "" -#: company/models.py:387 +#: company/models.py:382 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:392 +#: company/models.py:387 msgid "Link to address information (external)" msgstr "" -#: company/models.py:417 company/models.py:693 stock/models.py:675 +#: company/models.py:412 company/models.py:688 stock/models.py:740 #: stock/serializers.py:205 stock/templates/stock/item_base.html:143 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:421 company/models.py:697 +#: company/models.py:416 company/models.py:692 msgid "Select part" msgstr "" -#: company/models.py:432 company/templates/company/company_base.html:77 +#: company/models.py:427 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:438 +#: company/templates/company/supplier_part.html:146 part/serializers.py:440 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:506 #: templates/js/translated/company.js:1108 #: templates/js/translated/company.js:1286 #: templates/js/translated/company.js:1601 -#: templates/js/translated/table_filters.js:756 +#: templates/js/translated/table_filters.js:792 msgid "Manufacturer" msgstr "" -#: company/models.py:433 +#: company/models.py:428 msgid "Select manufacturer" msgstr "" -#: company/models.py:439 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:444 +#: company/models.py:434 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:446 #: templates/js/translated/company.js:351 #: templates/js/translated/company.js:1107 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1781 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:2028 +#: templates/js/translated/company.js:1620 templates/js/translated/part.js:1797 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2032 msgid "MPN" msgstr "" -#: company/models.py:440 +#: company/models.py:435 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:446 +#: company/models.py:441 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:452 +#: company/models.py:447 msgid "Manufacturer part description" msgstr "" -#: company/models.py:499 company/models.py:523 company/models.py:718 +#: company/models.py:494 company/models.py:518 company/models.py:713 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:530 +#: company/models.py:525 msgid "Parameter name" msgstr "" -#: company/models.py:536 +#: company/models.py:531 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2286 templates/js/translated/company.js:1156 -#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1473 -#: templates/js/translated/stock.js:1464 +#: stock/models.py:2348 templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1409 templates/js/translated/part.js:1489 +#: templates/js/translated/stock.js:1502 msgid "Value" msgstr "" -#: company/models.py:537 +#: company/models.py:532 msgid "Parameter value" msgstr "" -#: company/models.py:543 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:992 part/models.py:3468 +#: company/models.py:538 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:984 part/models.py:3429 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1492 -#: templates/js/translated/part.js:1596 templates/js/translated/part.js:2344 +#: templates/js/translated/company.js:1415 templates/js/translated/part.js:1508 +#: templates/js/translated/part.js:1612 templates/js/translated/part.js:2365 msgid "Units" msgstr "" -#: company/models.py:544 +#: company/models.py:539 msgid "Parameter units" msgstr "" -#: company/models.py:638 +#: company/models.py:633 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:644 +#: company/models.py:639 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:660 +#: company/models.py:655 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:704 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:395 -#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:427 stock/templates/stock/item_base.html:225 +#: company/models.py:699 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:386 +#: order/templates/order/order_base.html:136 part/bom.py:284 part/bom.py:312 +#: part/serializers.py:429 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:510 -#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1749 +#: templates/js/translated/company.js:1574 templates/js/translated/part.js:1765 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1668 -#: templates/js/translated/table_filters.js:760 +#: templates/js/translated/purchase_order.js:1672 +#: templates/js/translated/table_filters.js:796 msgid "Supplier" msgstr "" -#: company/models.py:705 +#: company/models.py:700 msgid "Select supplier" msgstr "" -#: company/models.py:710 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:433 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1767 +#: company/models.py:705 company/templates/company/supplier_part.html:140 +#: part/bom.py:285 part/bom.py:313 part/serializers.py:435 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1783 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1825 -#: templates/js/translated/purchase_order.js:2003 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2007 msgid "SKU" msgstr "" -#: company/models.py:711 part/serializers.py:433 +#: company/models.py:706 part/serializers.py:435 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:719 +#: company/models.py:714 msgid "Select manufacturer part" msgstr "" -#: company/models.py:725 +#: company/models.py:720 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:731 +#: company/models.py:726 msgid "Supplier part description" msgstr "" -#: company/models.py:736 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3884 part/templates/part/upload_bom.html:59 +#: company/models.py:731 company/templates/company/supplier_part.html:188 +#: part/admin.py:275 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:495 +#: stock/serializers.py:493 msgid "Note" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "base cost" msgstr "" -#: company/models.py:740 part/models.py:1929 +#: company/models.py:735 part/models.py:1912 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:742 company/templates/company/supplier_part.html:161 -#: stock/admin.py:119 stock/models.py:701 stock/serializers.py:1238 +#: company/models.py:737 company/templates/company/supplier_part.html:161 +#: stock/admin.py:137 stock/models.py:766 stock/serializers.py:1268 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1636 -#: templates/js/translated/stock.js:2356 +#: templates/js/translated/stock.js:2394 msgid "Packaging" msgstr "" -#: company/models.py:742 +#: company/models.py:737 msgid "Part packaging" msgstr "" -#: company/models.py:746 templates/js/translated/company.js:1641 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 +#: company/models.py:741 templates/js/translated/company.js:1641 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2059 -#: templates/js/translated/purchase_order.js:2076 +#: templates/js/translated/purchase_order.js:2063 +#: templates/js/translated/purchase_order.js:2080 msgid "Pack Quantity" msgstr "" -#: company/models.py:747 +#: company/models.py:742 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:764 part/models.py:1931 +#: company/models.py:758 part/models.py:1914 msgid "multiple" msgstr "" -#: company/models.py:764 +#: company/models.py:758 msgid "Order multiple" msgstr "" -#: company/models.py:773 +#: company/models.py:767 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:777 +#: company/models.py:771 msgid "Availability Updated" msgstr "" -#: company/models.py:778 +#: company/models.py:772 msgid "Date of last update of availability data" msgstr "" @@ -3986,17 +4013,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:792 -#: order/models.py:1751 order/templates/order/return_order_base.html:132 -#: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:985 +#: company/templates/company/company_base.html:87 order/models.py:782 +#: order/models.py:1736 order/templates/order/return_order_base.html:132 +#: order/templates/order/sales_order_base.html:145 stock/models.py:785 +#: stock/models.py:786 stock/serializers.py:1015 #: stock/templates/stock/item_base.html:406 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:502 #: templates/js/translated/return_order.js:293 #: templates/js/translated/sales_order.js:781 -#: templates/js/translated/stock.js:2881 -#: templates/js/translated/table_filters.js:764 +#: templates/js/translated/stock.js:2930 +#: templates/js/translated/table_filters.js:800 msgid "Customer" msgstr "" @@ -4004,7 +4031,7 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:119 order/models.py:279 +#: company/templates/company/company_base.html:119 order/models.py:273 #: order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:182 #: order/templates/order/sales_order_base.html:222 @@ -4168,7 +4195,7 @@ msgstr "" msgid "Add Address" msgstr "" -#: company/templates/company/manufacturer_part.html:15 company/views.py:38 +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -4199,7 +4226,7 @@ msgid "No manufacturer information available" msgstr "" #: company/templates/company/manufacturer_part.html:119 -#: company/templates/company/supplier_part.html:15 company/views.py:32 +#: company/templates/company/supplier_part.html:15 company/views.py:31 #: part/admin.py:60 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:190 templates/navbar.html:48 msgid "Suppliers" @@ -4220,7 +4247,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:206 -#: templates/js/translated/part.js:1403 +#: templates/js/translated/part.js:1419 msgid "Add Parameter" msgstr "" @@ -4249,11 +4276,11 @@ msgid "Addresses" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:684 +#: company/templates/company/supplier_part.html:24 stock/models.py:749 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1590 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2212 +#: templates/js/translated/stock.js:2250 msgid "Supplier Part" msgstr "" @@ -4309,7 +4336,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 -#: templates/js/translated/stock.js:503 +#: templates/js/translated/stock.js:537 msgid "New Stock Item" msgstr "" @@ -4339,15 +4366,15 @@ msgstr "" msgid "Update Part Availability" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:224 +#: company/templates/company/supplier_part_sidebar.html:5 part/stocktake.py:222 #: part/templates/part/category.html:182 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:688 stock/templates/stock/location.html:169 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:48 +#: stock/serializers.py:683 stock/templates/stock/location.html:169 #: stock/templates/stock/location.html:183 #: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1041 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2699 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1057 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2737 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4356,28 +4383,28 @@ msgstr "" msgid "Supplier Part Pricing" msgstr "" -#: company/views.py:33 +#: company/views.py:32 msgid "New Supplier" msgstr "" -#: company/views.py:39 +#: company/views.py:38 msgid "New Manufacturer" msgstr "" -#: company/views.py:44 templates/InvenTree/search.html:210 +#: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" msgstr "" -#: company/views.py:45 +#: company/views.py:44 msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:192 +#: company/views.py:51 templates/js/translated/search.js:192 msgid "Companies" msgstr "" -#: company/views.py:53 +#: company/views.py:52 msgid "New Company" msgstr "" @@ -4397,7 +4424,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:141 report/models.py:277 +#: label/models.py:141 report/models.py:311 msgid "Enabled" msgstr "" @@ -4421,7 +4448,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:161 report/models.py:270 +#: label/models.py:161 report/models.py:304 msgid "Filename Pattern" msgstr "" @@ -4435,8 +4462,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:289 label/models.py:330 label/models.py:358 -#: label/models.py:394 report/models.py:298 report/models.py:445 -#: report/models.py:483 report/models.py:521 report/models.py:645 +#: label/models.py:394 report/models.py:332 report/models.py:478 +#: report/models.py:516 report/models.py:554 report/models.py:675 msgid "Filters" msgstr "" @@ -4453,573 +4480,573 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:73 +#: order/admin.py:29 order/models.py:72 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/purchase_order.js:2104 #: templates/js/translated/sales_order.js:1844 msgid "Total Price" msgstr "" -#: order/api.py:242 +#: order/api.py:231 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1440 order/models.py:1191 order/models.py:1275 +#: order/api.py:1408 order/models.py:1177 order/models.py:1260 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1726 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1742 templates/js/translated/pricing.js:804 #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 -#: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2192 templates/js/translated/stock.js:2829 +#: templates/js/translated/purchase_order.js:1656 +#: templates/js/translated/stock.js:2230 templates/js/translated/stock.js:2878 msgid "Purchase Order" msgstr "" -#: order/api.py:1444 order/models.py:1922 order/models.py:1968 +#: order/api.py:1412 order/models.py:1903 order/models.py:1949 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:278 -#: templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2912 msgid "Return Order" msgstr "" -#: order/api.py:1446 templates/js/translated/sales_order.js:1039 +#: order/api.py:1414 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" -#: order/models.py:74 +#: order/models.py:73 msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:50 +#: order/models.py:78 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:51 +#: order/models.py:80 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:210 +#: order/models.py:206 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:232 +#: order/models.py:226 msgid "Order description (optional)" msgstr "" -#: order/models.py:237 +#: order/models.py:231 msgid "Select project code for this order" msgstr "" -#: order/models.py:240 order/models.py:1107 order/models.py:1467 +#: order/models.py:234 order/models.py:1093 order/models.py:1451 msgid "Link to external page" msgstr "" -#: order/models.py:245 +#: order/models.py:239 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:254 +#: order/models.py:248 msgid "Created By" msgstr "" -#: order/models.py:261 +#: order/models.py:255 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:271 +#: order/models.py:265 msgid "Point of contact for this order" msgstr "" -#: order/models.py:280 +#: order/models.py:274 msgid "Company address for this order" msgstr "" -#: order/models.py:373 order/models.py:779 +#: order/models.py:364 order/models.py:769 msgid "Order reference" msgstr "" -#: order/models.py:381 order/models.py:804 +#: order/models.py:372 order/models.py:794 msgid "Purchase order status" msgstr "" -#: order/models.py:396 +#: order/models.py:387 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:404 order/templates/order/order_base.html:148 -#: templates/js/translated/purchase_order.js:1677 +#: order/models.py:395 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1681 msgid "Supplier Reference" msgstr "" -#: order/models.py:404 +#: order/models.py:395 msgid "Supplier order reference code" msgstr "" -#: order/models.py:411 +#: order/models.py:402 msgid "received by" msgstr "" -#: order/models.py:416 order/models.py:1774 +#: order/models.py:407 order/models.py:1759 msgid "Issue Date" msgstr "" -#: order/models.py:417 order/models.py:1775 +#: order/models.py:408 order/models.py:1760 msgid "Date order was issued" msgstr "" -#: order/models.py:423 order/models.py:1781 +#: order/models.py:414 order/models.py:1766 msgid "Date order was completed" msgstr "" -#: order/models.py:458 +#: order/models.py:449 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:619 +#: order/models.py:610 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:793 +#: order/models.py:783 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:812 order/models.py:1768 +#: order/models.py:802 order/models.py:1753 msgid "Customer Reference " msgstr "" -#: order/models.py:812 order/models.py:1769 +#: order/models.py:802 order/models.py:1754 msgid "Customer order reference code" msgstr "" -#: order/models.py:814 order/models.py:1421 +#: order/models.py:804 order/models.py:1405 #: templates/js/translated/sales_order.js:840 #: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" -#: order/models.py:821 +#: order/models.py:811 msgid "shipped by" msgstr "" -#: order/models.py:870 +#: order/models.py:860 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:874 +#: order/models.py:864 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:877 templates/js/translated/sales_order.js:503 +#: order/models.py:867 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:880 +#: order/models.py:870 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1087 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1100 +#: order/models.py:1086 msgid "Line item reference" msgstr "" -#: order/models.py:1102 +#: order/models.py:1088 msgid "Line item notes" msgstr "" -#: order/models.py:1113 +#: order/models.py:1099 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1131 +#: order/models.py:1117 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1136 +#: order/models.py:1122 msgid "Context" msgstr "" -#: order/models.py:1137 +#: order/models.py:1123 msgid "Additional context for this line" msgstr "" -#: order/models.py:1146 +#: order/models.py:1132 msgid "Unit price" msgstr "" -#: order/models.py:1176 +#: order/models.py:1162 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1184 +#: order/models.py:1170 msgid "deleted" msgstr "" -#: order/models.py:1190 order/models.py:1275 order/models.py:1316 -#: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1485 +#: order/models.py:1176 order/models.py:1260 order/models.py:1300 +#: order/models.py:1399 order/models.py:1548 order/models.py:1902 +#: order/models.py:1949 templates/js/translated/sales_order.js:1485 msgid "Order" msgstr "" -#: order/models.py:1209 +#: order/models.py:1194 msgid "Supplier part" msgstr "" -#: order/models.py:1216 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1849 templates/js/translated/part.js:1880 +#: order/models.py:1201 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1865 templates/js/translated/part.js:1896 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2144 -#: templates/js/translated/return_order.js:757 +#: templates/js/translated/purchase_order.js:2148 +#: templates/js/translated/return_order.js:761 #: templates/js/translated/table_filters.js:120 -#: templates/js/translated/table_filters.js:562 +#: templates/js/translated/table_filters.js:598 msgid "Received" msgstr "" -#: order/models.py:1217 +#: order/models.py:1202 msgid "Number of items received" msgstr "" -#: order/models.py:1224 stock/models.py:823 stock/serializers.py:321 +#: order/models.py:1209 stock/models.py:888 stock/serializers.py:319 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2243 +#: templates/js/translated/stock.js:2281 msgid "Purchase Price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1210 msgid "Unit purchase price" msgstr "" -#: order/models.py:1238 +#: order/models.py:1223 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1304 +#: order/models.py:1288 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1309 +#: order/models.py:1293 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1335 part/templates/part/part_pricing.html:107 +#: order/models.py:1319 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1336 +#: order/models.py:1320 msgid "Unit sale price" msgstr "" -#: order/models.py:1346 +#: order/models.py:1330 msgid "Shipped quantity" msgstr "" -#: order/models.py:1422 +#: order/models.py:1406 msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1033 +#: order/models.py:1411 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" -#: order/models.py:1428 +#: order/models.py:1412 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1435 +#: order/models.py:1419 msgid "Checked By" msgstr "" -#: order/models.py:1436 +#: order/models.py:1420 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1443 order/models.py:1640 order/serializers.py:1276 -#: order/serializers.py:1404 templates/js/translated/model_renderers.js:433 +#: order/models.py:1427 order/models.py:1626 order/serializers.py:1269 +#: order/serializers.py:1397 templates/js/translated/model_renderers.js:446 msgid "Shipment" msgstr "" -#: order/models.py:1444 +#: order/models.py:1428 msgid "Shipment number" msgstr "" -#: order/models.py:1452 +#: order/models.py:1436 msgid "Tracking Number" msgstr "" -#: order/models.py:1453 +#: order/models.py:1437 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1460 +#: order/models.py:1444 msgid "Invoice Number" msgstr "" -#: order/models.py:1461 +#: order/models.py:1445 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1483 +#: order/models.py:1467 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1486 +#: order/models.py:1470 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1599 order/models.py:1601 +#: order/models.py:1583 order/models.py:1585 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1605 +#: order/models.py:1591 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1607 +#: order/models.py:1593 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1610 +#: order/models.py:1596 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1620 order/serializers.py:1138 +#: order/models.py:1606 order/serializers.py:1133 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1623 +#: order/models.py:1609 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1624 +#: order/models.py:1610 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1632 +#: order/models.py:1618 msgid "Line" msgstr "" -#: order/models.py:1641 +#: order/models.py:1627 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:715 +#: order/models.py:1640 order/models.py:1910 +#: templates/js/translated/return_order.js:719 msgid "Item" msgstr "" -#: order/models.py:1655 +#: order/models.py:1641 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1658 +#: order/models.py:1644 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1738 +#: order/models.py:1723 msgid "Return Order reference" msgstr "" -#: order/models.py:1752 +#: order/models.py:1737 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1763 +#: order/models.py:1748 msgid "Return order status" msgstr "" -#: order/models.py:1914 +#: order/models.py:1895 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1930 +#: order/models.py:1911 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1935 +#: order/models.py:1916 msgid "Received Date" msgstr "" -#: order/models.py:1936 +#: order/models.py:1917 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:726 +#: order/models.py:1928 templates/js/translated/return_order.js:730 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:1947 +#: order/models.py:1928 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1953 +#: order/models.py:1934 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:253 +#: order/serializers.py:250 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:268 order/serializers.py:1156 +#: order/serializers.py:265 order/serializers.py:1151 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:279 order/serializers.py:1167 +#: order/serializers.py:275 order/serializers.py:1161 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:392 +#: order/serializers.py:388 msgid "Order is not open" msgstr "" -#: order/serializers.py:410 +#: order/serializers.py:406 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:428 +#: order/serializers.py:424 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:429 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:435 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:440 +#: order/serializers.py:436 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:478 order/serializers.py:1244 +#: order/serializers.py:474 order/serializers.py:1237 msgid "Line Item" msgstr "" -#: order/serializers.py:484 +#: order/serializers.py:480 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1617 +#: order/serializers.py:490 order/serializers.py:609 order/serializers.py:1607 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 +#: order/serializers.py:509 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 +#: order/serializers.py:517 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:534 templates/js/translated/barcode.js:52 +#: order/serializers.py:530 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:535 +#: order/serializers.py:531 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:551 +#: order/serializers.py:547 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:575 +#: order/serializers.py:571 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:629 order/serializers.py:1632 +#: order/serializers.py:625 order/serializers.py:1621 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:646 +#: order/serializers.py:642 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:657 +#: order/serializers.py:653 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:978 +#: order/serializers.py:973 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1035 +#: order/serializers.py:1030 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1099 order/serializers.py:1253 +#: order/serializers.py:1094 order/serializers.py:1246 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1121 +#: order/serializers.py:1116 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1266 +#: order/serializers.py:1259 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1288 order/serializers.py:1412 +#: order/serializers.py:1281 order/serializers.py:1405 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1291 order/serializers.py:1415 +#: order/serializers.py:1284 order/serializers.py:1408 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1345 +#: order/serializers.py:1338 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1355 +#: order/serializers.py:1348 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1583 +#: order/serializers.py:1574 msgid "Return order line item" msgstr "" -#: order/serializers.py:1590 +#: order/serializers.py:1580 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1593 +#: order/serializers.py:1583 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1625 +#: order/serializers.py:1614 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1706 +#: order/serializers.py:1693 msgid "Line price currency" msgstr "" -#: order/tasks.py:27 +#: order/tasks.py:26 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:32 +#: order/tasks.py:31 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:90 +#: order/tasks.py:87 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:95 +#: order/tasks.py:92 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5187,12 +5214,12 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1602 +#: templates/js/translated/build.js:1610 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:503 #: templates/js/translated/sales_order.js:1106 -#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5315,8 +5342,8 @@ msgstr "" #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/part.js:1069 +#: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/return_order.js:378 #: templates/js/translated/sales_order.js:852 msgid "Total Cost" @@ -5376,7 +5403,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1266 templates/js/translated/filters.js:296 +#: templates/js/translated/bom.js:1271 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5406,47 +5433,47 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3743 part/stocktake.py:219 -#: stock/admin.py:101 +#: part/admin.py:33 part/admin.py:269 part/models.py:3699 part/stocktake.py:217 +#: stock/admin.py:119 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3747 part/stocktake.py:220 -#: stock/admin.py:102 +#: part/admin.py:34 part/admin.py:271 part/models.py:3703 part/stocktake.py:218 +#: stock/admin.py:120 msgid "Part Name" msgstr "" -#: part/admin.py:35 part/stocktake.py:221 +#: part/admin.py:35 part/stocktake.py:219 msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271 #: report/templates/report/inventree_slr_report.html:103 -#: templates/js/translated/part.js:1207 templates/js/translated/part.js:2315 -#: templates/js/translated/stock.js:1968 +#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2336 +#: templates/js/translated/stock.js:2006 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:183 templates/js/translated/part.js:1212 -#: templates/js/translated/part.js:2321 +#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279 +#: report/models.py:189 templates/js/translated/part.js:1228 +#: templates/js/translated/part.js:2342 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:879 +#: part/admin.py:38 part/admin.py:195 part/models.py:871 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" -#: part/admin.py:42 part/admin.py:192 part/stocktake.py:222 +#: part/admin.py:42 part/admin.py:189 part/stocktake.py:220 msgid "Category ID" msgstr "" -#: part/admin.py:43 part/admin.py:193 part/stocktake.py:223 +#: part/admin.py:43 part/admin.py:190 part/stocktake.py:221 msgid "Category Name" msgstr "" -#: part/admin.py:44 part/admin.py:197 +#: part/admin.py:44 part/admin.py:194 msgid "Default Location ID" msgstr "" @@ -5454,23 +5481,23 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:985 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:977 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1679 -#: templates/js/translated/table_filters.js:331 +#: templates/js/translated/table_filters.js:355 msgid "In Stock" msgstr "" -#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2585 -#: templates/js/translated/part.js:690 templates/js/translated/part.js:2127 +#: part/admin.py:62 part/bom.py:177 part/templates/part/part_base.html:212 +#: templates/js/translated/bom.js:1202 templates/js/translated/build.js:2597 +#: templates/js/translated/part.js:706 templates/js/translated/part.js:2143 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" @@ -5479,107 +5506,107 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:695 templates/js/translated/part.js:2131 +#: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:142 +#: templates/js/translated/part.js:711 templates/js/translated/part.js:2147 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2991 templates/js/translated/part.js:950 +#: part/admin.py:66 part/models.py:2957 templates/js/translated/part.js:966 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2997 templates/js/translated/part.js:960 +#: part/admin.py:67 part/models.py:2963 templates/js/translated/part.js:976 msgid "Maximum Cost" msgstr "" -#: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 +#: part/admin.py:192 part/admin.py:266 stock/admin.py:43 stock/admin.py:134 msgid "Parent ID" msgstr "" -#: part/admin.py:196 part/admin.py:272 stock/admin.py:43 +#: part/admin.py:193 part/admin.py:268 stock/admin.py:44 msgid "Parent Name" msgstr "" -#: part/admin.py:199 part/templates/part/category.html:87 +#: part/admin.py:196 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:336 +#: part/admin.py:199 part/models.py:393 part/serializers.py:339 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:47 -#: templates/js/translated/part.js:2778 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2799 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/admin.py:265 +#: part/admin.py:261 msgid "BOM Level" msgstr "" -#: part/admin.py:267 +#: part/admin.py:263 msgid "BOM Item ID" msgstr "" -#: part/admin.py:271 +#: part/admin.py:267 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3751 +#: part/admin.py:270 part/models.py:3707 msgid "Part IPN" msgstr "" -#: part/admin.py:280 templates/js/translated/pricing.js:358 +#: part/admin.py:276 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:281 templates/js/translated/pricing.js:353 +#: part/admin.py:277 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:509 +#: part/api.py:505 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:529 +#: part/api.py:525 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:547 +#: part/api.py:543 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:633 +#: part/api.py:629 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:781 +#: part/api.py:774 msgid "Valid" msgstr "" -#: part/api.py:782 +#: part/api.py:775 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:788 +#: part/api.py:781 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:927 +#: part/bom.py:174 part/models.py:128 part/models.py:919 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" -#: part/bom.py:176 templates/email/low_stock_notification.html:16 +#: part/bom.py:175 templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" -#: part/bom.py:177 part/templates/part/part_base.html:194 +#: part/bom.py:176 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1890 msgid "Available Stock" msgstr "" @@ -5588,7 +5615,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3692 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3648 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5603,9 +5630,9 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2705 +#: part/models.py:134 stock/models.py:187 templates/js/translated/stock.js:2743 #: templates/js/translated/table_filters.js:239 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:283 msgid "Structural" msgstr "" @@ -5621,11 +5648,12 @@ msgstr "" msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:145 stock/models.py:113 +#: part/models.py:145 stock/models.py:85 stock/models.py:175 +#: templates/InvenTree/settings/settings_staff_js.html:436 msgid "Icon" msgstr "" -#: part/models.py:146 stock/models.py:114 +#: part/models.py:146 stock/models.py:176 msgid "Icon (optional)" msgstr "" @@ -5633,719 +5661,719 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:479 +#: part/models.py:478 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:521 part/models.py:533 +#: part/models.py:520 part/models.py:532 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:605 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:676 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:807 +#: part/models.py:799 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:812 +#: part/models.py:804 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:826 +#: part/models.py:818 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3748 +#: part/models.py:842 part/models.py:3704 msgid "Part name" msgstr "" -#: part/models.py:856 +#: part/models.py:848 msgid "Is Template" msgstr "" -#: part/models.py:857 +#: part/models.py:849 msgid "Is this part a template part?" msgstr "" -#: part/models.py:867 +#: part/models.py:859 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:874 +#: part/models.py:866 msgid "Part description (optional)" msgstr "" -#: part/models.py:880 +#: part/models.py:872 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3259 part/models.py:3691 -#: part/serializers.py:349 part/serializers.py:964 +#: part/models.py:879 part/models.py:3222 part/models.py:3647 +#: part/serializers.py:352 part/serializers.py:958 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:280 #: templates/js/translated/notification.js:60 -#: templates/js/translated/part.js:2351 +#: templates/js/translated/part.js:2372 msgid "Category" msgstr "" -#: part/models.py:888 +#: part/models.py:880 msgid "Part category" msgstr "" -#: part/models.py:894 +#: part/models.py:886 msgid "Internal Part Number" msgstr "" -#: part/models.py:899 +#: part/models.py:891 msgid "Part revision or version number" msgstr "" -#: part/models.py:925 +#: part/models.py:917 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:970 part/templates/part/part_base.html:378 +#: part/models.py:962 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:971 +#: part/models.py:963 msgid "Default supplier part" msgstr "" -#: part/models.py:978 +#: part/models.py:970 msgid "Default Expiry" msgstr "" -#: part/models.py:979 +#: part/models.py:971 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:986 +#: part/models.py:978 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:993 +#: part/models.py:985 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1002 +#: part/models.py:994 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1000 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1006 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1011 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1016 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1021 msgid "Is this part active?" msgstr "" -#: part/models.py:1034 +#: part/models.py:1026 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "BOM checksum" msgstr "" -#: part/models.py:1036 +#: part/models.py:1028 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1039 +#: part/models.py:1031 msgid "BOM checked by" msgstr "" -#: part/models.py:1041 +#: part/models.py:1033 msgid "BOM checked date" msgstr "" -#: part/models.py:1045 +#: part/models.py:1037 msgid "Creation User" msgstr "" -#: part/models.py:1047 +#: part/models.py:1039 msgid "User responsible for this part" msgstr "" -#: part/models.py:1051 part/templates/part/part_base.html:341 +#: part/models.py:1043 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:452 -#: templates/js/translated/part.js:2445 +#: templates/js/translated/part.js:2466 msgid "Last Stocktake" msgstr "" -#: part/models.py:1931 +#: part/models.py:1914 msgid "Sell multiple" msgstr "" -#: part/models.py:2914 +#: part/models.py:2880 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2931 +#: part/models.py:2897 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2932 +#: part/models.py:2898 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2937 +#: part/models.py:2903 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2938 +#: part/models.py:2904 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2943 +#: part/models.py:2909 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2944 +#: part/models.py:2910 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2915 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2950 +#: part/models.py:2916 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2921 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2956 +#: part/models.py:2922 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2961 +#: part/models.py:2927 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2962 +#: part/models.py:2928 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2967 +#: part/models.py:2933 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2968 +#: part/models.py:2934 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2973 +#: part/models.py:2939 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2940 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2979 +#: part/models.py:2945 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2980 +#: part/models.py:2946 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2985 +#: part/models.py:2951 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2986 +#: part/models.py:2952 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2992 +#: part/models.py:2958 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2998 +#: part/models.py:2964 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3003 +#: part/models.py:2969 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3004 +#: part/models.py:2970 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3009 +#: part/models.py:2975 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3010 +#: part/models.py:2976 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3015 +#: part/models.py:2981 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3016 +#: part/models.py:2982 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3021 +#: part/models.py:2987 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3022 +#: part/models.py:2988 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3041 +#: part/models.py:3007 msgid "Part for stocktake" msgstr "" -#: part/models.py:3046 +#: part/models.py:3012 msgid "Item Count" msgstr "" -#: part/models.py:3047 +#: part/models.py:3013 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3054 +#: part/models.py:3020 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3058 part/models.py:3141 +#: part/models.py:3024 part/models.py:3104 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 -#: templates/InvenTree/settings/settings_staff_js.html:436 -#: templates/js/translated/part.js:1066 templates/js/translated/pricing.js:826 +#: templates/InvenTree/settings/settings_staff_js.html:520 +#: templates/js/translated/part.js:1082 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 -#: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2743 +#: templates/js/translated/purchase_order.js:1710 +#: templates/js/translated/stock.js:2792 msgid "Date" msgstr "" -#: part/models.py:3059 +#: part/models.py:3025 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3067 +#: part/models.py:3033 msgid "Additional notes" msgstr "" -#: part/models.py:3075 +#: part/models.py:3041 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3080 +#: part/models.py:3046 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3081 +#: part/models.py:3047 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3086 +#: part/models.py:3052 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3087 +#: part/models.py:3053 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3148 templates/InvenTree/settings/settings_staff_js.html:425 +#: part/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:509 msgid "Report" msgstr "" -#: part/models.py:3149 +#: part/models.py:3112 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3154 templates/InvenTree/settings/settings_staff_js.html:432 +#: part/models.py:3117 templates/InvenTree/settings/settings_staff_js.html:516 msgid "Part Count" msgstr "" -#: part/models.py:3155 +#: part/models.py:3118 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3163 +#: part/models.py:3126 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3299 +#: part/models.py:3262 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3316 +#: part/models.py:3279 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3336 templates/js/translated/part.js:2842 +#: part/models.py:3299 templates/js/translated/part.js:2863 msgid "Test Name" msgstr "" -#: part/models.py:3337 +#: part/models.py:3300 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3342 +#: part/models.py:3305 msgid "Test Description" msgstr "" -#: part/models.py:3343 +#: part/models.py:3306 msgid "Enter description for this test" msgstr "" -#: part/models.py:3348 templates/js/translated/part.js:2851 -#: templates/js/translated/table_filters.js:453 +#: part/models.py:3311 templates/js/translated/part.js:2872 +#: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3349 +#: part/models.py:3312 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3354 templates/js/translated/part.js:2859 +#: part/models.py:3317 templates/js/translated/part.js:2880 msgid "Requires Value" msgstr "" -#: part/models.py:3355 +#: part/models.py:3318 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3360 templates/js/translated/part.js:2866 +#: part/models.py:3323 templates/js/translated/part.js:2887 msgid "Requires Attachment" msgstr "" -#: part/models.py:3361 +#: part/models.py:3324 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3407 +#: part/models.py:3369 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3412 +#: part/models.py:3374 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3392 msgid "Choices must be unique" msgstr "" -#: part/models.py:3446 +#: part/models.py:3408 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3462 +#: part/models.py:3423 msgid "Parameter Name" msgstr "" -#: part/models.py:3468 +#: part/models.py:3429 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3478 +#: part/models.py:3439 msgid "Parameter description" msgstr "" -#: part/models.py:3484 templates/js/translated/part.js:1608 -#: templates/js/translated/table_filters.js:781 +#: part/models.py:3445 templates/js/translated/part.js:1624 +#: templates/js/translated/table_filters.js:817 msgid "Checkbox" msgstr "" -#: part/models.py:3485 +#: part/models.py:3446 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3490 templates/js/translated/part.js:1617 +#: part/models.py:3451 templates/js/translated/part.js:1633 msgid "Choices" msgstr "" -#: part/models.py:3491 +#: part/models.py:3452 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3573 +#: part/models.py:3531 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3616 +#: part/models.py:3573 msgid "Parent Part" msgstr "" -#: part/models.py:3621 part/models.py:3697 part/models.py:3698 +#: part/models.py:3578 part/models.py:3653 part/models.py:3654 #: templates/InvenTree/settings/settings_staff_js.html:275 msgid "Parameter Template" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Data" msgstr "" -#: part/models.py:3626 +#: part/models.py:3583 msgid "Parameter Value" msgstr "" -#: part/models.py:3702 templates/InvenTree/settings/settings_staff_js.html:284 +#: part/models.py:3658 templates/InvenTree/settings/settings_staff_js.html:284 msgid "Default Value" msgstr "" -#: part/models.py:3703 +#: part/models.py:3659 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3740 +#: part/models.py:3696 msgid "Part ID or part name" msgstr "" -#: part/models.py:3744 +#: part/models.py:3700 msgid "Unique part ID value" msgstr "" -#: part/models.py:3752 +#: part/models.py:3708 msgid "Part IPN value" msgstr "" -#: part/models.py:3755 +#: part/models.py:3711 msgid "Level" msgstr "" -#: part/models.py:3756 +#: part/models.py:3712 msgid "BOM level" msgstr "" -#: part/models.py:3762 part/models.py:4164 +#: part/models.py:3718 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3847 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3855 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3856 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3862 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3867 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3873 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3877 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3878 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3881 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3884 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3888 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3893 templates/js/translated/table_filters.js:174 +#: part/models.py:3848 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:3894 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3899 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 #: templates/js/translated/table_filters.js:178 #: templates/js/translated/table_filters.js:211 msgid "Gets inherited" msgstr "" -#: part/models.py:3900 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3905 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:3906 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3992 stock/models.py:577 +#: part/models.py:3947 stock/models.py:642 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4001 part/models.py:4003 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4131 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4152 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4165 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4173 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4188 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4192 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4210 +#: part/models.py:4161 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4214 +#: part/models.py:4165 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:170 part/serializers.py:193 stock/serializers.py:326 +#: part/serializers.py:169 part/serializers.py:192 stock/serializers.py:324 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:342 +#: part/serializers.py:345 msgid "No parts selected" msgstr "" -#: part/serializers.py:350 +#: part/serializers.py:353 msgid "Select category" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Original Part" msgstr "" -#: part/serializers.py:381 +#: part/serializers.py:383 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy Image" msgstr "" -#: part/serializers.py:386 +#: part/serializers.py:388 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:391 part/templates/part/detail.html:277 +#: part/serializers.py:393 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:391 +#: part/serializers.py:393 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:396 +#: part/serializers.py:398 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy Notes" msgstr "" -#: part/serializers.py:401 +#: part/serializers.py:403 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:411 +#: part/serializers.py:413 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:419 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:429 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:440 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:446 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:452 msgid "Selected company is not a valid supplier" msgstr "" @@ -6353,186 +6381,186 @@ msgstr "" msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:471 +#: part/serializers.py:470 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:479 +#: part/serializers.py:478 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:732 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:452 +#: part/serializers.py:729 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:468 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:732 +#: part/serializers.py:729 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:737 templates/js/translated/part.js:102 +#: part/serializers.py:734 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:737 +#: part/serializers.py:734 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Supplier Information" msgstr "" -#: part/serializers.py:742 +#: part/serializers.py:739 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:748 +#: part/serializers.py:745 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:749 +#: part/serializers.py:746 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:958 +#: part/serializers.py:952 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:958 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:964 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:975 +#: part/serializers.py:969 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:970 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:981 +#: part/serializers.py:975 msgid "Generate Report" msgstr "" -#: part/serializers.py:982 +#: part/serializers.py:976 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:981 msgid "Update Parts" msgstr "" -#: part/serializers.py:988 +#: part/serializers.py:982 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:996 +#: part/serializers.py:989 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1086 +#: part/serializers.py:1078 msgid "Update" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1079 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1374 +#: part/serializers.py:1366 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1382 +#: part/serializers.py:1374 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1383 +#: part/serializers.py:1375 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1380 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1389 +#: part/serializers.py:1381 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1386 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1395 +#: part/serializers.py:1387 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1392 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1401 +#: part/serializers.py:1393 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1441 +#: part/serializers.py:1433 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1442 +#: part/serializers.py:1434 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1464 msgid "No part column specified" msgstr "" -#: part/serializers.py:1515 +#: part/serializers.py:1508 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1518 +#: part/serializers.py:1511 msgid "No matching part found" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1514 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1523 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1538 +#: part/serializers.py:1531 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1559 +#: part/serializers.py:1552 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1047 -#: templates/js/translated/part.js:1801 templates/js/translated/part.js:1856 -#: templates/js/translated/purchase_order.js:2059 +#: part/stocktake.py:223 templates/js/translated/part.js:1063 +#: templates/js/translated/part.js:1817 templates/js/translated/part.js:1872 +#: templates/js/translated/purchase_order.js:2063 msgid "Total Quantity" msgstr "" -#: part/stocktake.py:226 +#: part/stocktake.py:224 msgid "Total Cost Min" msgstr "" -#: part/stocktake.py:227 +#: part/stocktake.py:225 msgid "Total Cost Max" msgstr "" -#: part/stocktake.py:295 +#: part/stocktake.py:289 msgid "Stocktake Report Available" msgstr "" -#: part/stocktake.py:296 +#: part/stocktake.py:290 msgid "A new stocktake report is available for download" msgstr "" @@ -6672,9 +6700,9 @@ msgid "Add stocktake information" msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 -#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:30 +#: stock/admin.py:148 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/stock.js:2148 users/models.py:39 +#: templates/js/translated/stock.js:2186 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6748,7 +6776,7 @@ msgid "Validate BOM" msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 -#: templates/js/translated/bom.js:1309 templates/js/translated/bom.js:1310 +#: templates/js/translated/bom.js:1314 templates/js/translated/bom.js:1315 msgid "Add BOM Item" msgstr "" @@ -6772,15 +6800,15 @@ msgstr "" msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:654 +#: part/templates/part/detail.html:659 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:662 +#: part/templates/part/detail.html:667 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:747 +#: part/templates/part/detail.html:752 msgid "Add Test Result Template" msgstr "" @@ -6861,7 +6889,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2267 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2288 msgid "Part actions" msgstr "" @@ -6908,8 +6936,8 @@ msgstr "" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1277 #: templates/js/translated/company.js:1565 -#: templates/js/translated/model_renderers.js:291 -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1199 +#: templates/js/translated/model_renderers.js:304 +#: templates/js/translated/part.js:811 templates/js/translated/part.js:1215 msgid "Inactive" msgstr "" @@ -6932,7 +6960,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1208 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1213 msgid "Can Build" msgstr "" @@ -6941,7 +6969,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1245 templates/js/translated/part.js:2418 +#: templates/js/translated/part.js:1261 templates/js/translated/part.js:2439 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -6964,7 +6992,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2261 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2282 msgid "part" msgstr "" @@ -7038,9 +7066,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1223 templates/js/translated/part.js:2124 -#: templates/js/translated/part.js:2366 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:2002 templates/navbar.html:31 +#: templates/js/translated/part.js:1239 templates/js/translated/part.js:2140 +#: templates/js/translated/part.js:2387 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2040 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7069,11 +7097,11 @@ msgstr "" msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:25 stock/admin.py:129 +#: part/templates/part/prices.html:25 stock/admin.py:147 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/company.js:1693 #: templates/js/translated/company.js:1703 -#: templates/js/translated/stock.js:2178 +#: templates/js/translated/stock.js:2216 msgid "Last Updated" msgstr "" @@ -7136,8 +7164,8 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:685 -#: templates/js/translated/part.js:2119 templates/js/translated/part.js:2121 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:701 +#: templates/js/translated/part.js:2135 templates/js/translated/part.js:2137 msgid "No Stock" msgstr "" @@ -7190,11 +7218,11 @@ msgstr "" msgid "Create a new variant part from this template" msgstr "" -#: part/templatetags/inventree_extras.py:189 +#: part/templatetags/inventree_extras.py:188 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:241 +#: part/templatetags/inventree_extras.py:238 #, python-brace-format msgid "{title} v{version}" msgstr "" @@ -7232,7 +7260,7 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:109 msgid "Missing barcode data" msgstr "" @@ -7244,12 +7272,12 @@ msgstr "" msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1387 +#: plugin/base/barcodes/api.py:119 +#: templates/js/translated/purchase_order.js:1391 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:217 +#: plugin/base/barcodes/api.py:215 msgid "No match found for provided value" msgstr "" @@ -7267,6 +7295,7 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:34 +#: plugin/builtin/integration/currency_exchange.py:22 #: plugin/builtin/labels/inventree_label.py:23 msgid "InvenTree contributors" msgstr "" @@ -7305,10 +7334,18 @@ msgstr "" msgid "URL that is used to send messages to a slack channel" msgstr "" -#: plugin/builtin/integration/core_notifications.py:163 +#: plugin/builtin/integration/core_notifications.py:162 msgid "Open link" msgstr "" +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:24 +msgid "Default currency exchange integration" +msgstr "" + #: plugin/builtin/labels/inventree_label.py:20 msgid "InvenTree PDF label printer" msgstr "" @@ -7325,6 +7362,23 @@ msgstr "" msgid "Enable debug mode - returns raw HTML instead of PDF" msgstr "" +#: plugin/installer.py:140 +msgid "Permission denied: only staff users can install plugins" +msgstr "" + +#: plugin/installer.py:186 +msgid "Installed plugin successfully" +msgstr "" + +#: plugin/installer.py:192 +#, python-brace-format +msgid "Installed plugin into {path}" +msgstr "" + +#: plugin/installer.py:201 +msgid "Plugin installation failed" +msgstr "" + #: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" @@ -7349,37 +7403,43 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:131 +#: plugin/models.py:129 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:500 +msgid "Installed" +msgstr "" + +#: plugin/models.py:138 msgid "Sample plugin" msgstr "" -#: plugin/models.py:140 +#: plugin/models.py:146 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:166 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:171 templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:50 msgid "Plugin" msgstr "" -#: plugin/models.py:217 +#: plugin/models.py:222 msgid "Method" msgstr "" -#: plugin/plugin.py:267 +#: plugin/plugin.py:265 msgid "No author found" msgstr "" -#: plugin/registry.py:478 +#: plugin/registry.py:510 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:480 +#: plugin/registry.py:512 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:482 +#: plugin/registry.py:514 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7416,148 +7476,184 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:90 +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +msgid "InvenTree Contributors" +msgstr "" + +#: plugin/serializers.py:87 msgid "Source URL" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:88 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:96 +#: plugin/serializers.py:93 msgid "Package Name" msgstr "" -#: plugin/serializers.py:97 +#: plugin/serializers.py:94 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:100 +#: plugin/serializers.py:97 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:101 +#: plugin/serializers.py:98 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:113 +#: plugin/serializers.py:110 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:115 +#: plugin/serializers.py:112 msgid "Either packagename of URL must be provided" msgstr "" -#: plugin/serializers.py:193 +#: plugin/serializers.py:141 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:194 +#: plugin/serializers.py:142 msgid "Activate this plugin" msgstr "" -#: report/api.py:174 +#: report/api.py:172 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:211 report/api.py:247 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:325 +#: report/api.py:322 msgid "Test report" msgstr "" -#: report/models.py:165 -msgid "Template name" +#: report/helpers.py:13 +msgid "A4" +msgstr "" + +#: report/helpers.py:14 +msgid "A3" +msgstr "" + +#: report/helpers.py:15 +msgid "Legal" +msgstr "" + +#: report/helpers.py:16 +msgid "Letter" msgstr "" #: report/models.py:171 +msgid "Template name" +msgstr "" + +#: report/models.py:177 msgid "Report template file" msgstr "" -#: report/models.py:178 +#: report/models.py:184 msgid "Report template description" msgstr "" -#: report/models.py:184 +#: report/models.py:190 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:271 +#: report/models.py:198 +msgid "Page size for PDF reports" +msgstr "" + +#: report/models.py:203 +msgid "Landscape" +msgstr "" + +#: report/models.py:204 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:305 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:278 +#: report/models.py:312 msgid "Report template is enabled" msgstr "" -#: report/models.py:299 +#: report/models.py:333 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:307 +#: report/models.py:341 msgid "Include Installed Tests" msgstr "" -#: report/models.py:308 +#: report/models.py:342 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:369 +#: report/models.py:402 msgid "Build Filters" msgstr "" -#: report/models.py:370 +#: report/models.py:403 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:411 +#: report/models.py:444 msgid "Part Filters" msgstr "" -#: report/models.py:412 +#: report/models.py:445 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:446 +#: report/models.py:479 msgid "Purchase order query filters" msgstr "" -#: report/models.py:484 +#: report/models.py:517 msgid "Sales order query filters" msgstr "" -#: report/models.py:522 +#: report/models.py:555 msgid "Return order query filters" msgstr "" -#: report/models.py:575 +#: report/models.py:606 msgid "Snippet" msgstr "" -#: report/models.py:576 +#: report/models.py:607 msgid "Report snippet file" msgstr "" -#: report/models.py:580 +#: report/models.py:611 msgid "Snippet file description" msgstr "" -#: report/models.py:617 +#: report/models.py:647 msgid "Asset" msgstr "" -#: report/models.py:618 +#: report/models.py:648 msgid "Report asset file" msgstr "" -#: report/models.py:625 +#: report/models.py:655 msgid "Asset file description" msgstr "" -#: report/models.py:646 +#: report/models.py:676 msgid "stock location query filters (comma-separated list of key=value pairs)" msgstr "" @@ -7578,7 +7674,7 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:834 -#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/purchase_order.js:2094 #: templates/js/translated/sales_order.js:1834 msgid "Unit Price" msgstr "" @@ -7591,23 +7687,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/purchase_order.js:1996 #: templates/js/translated/sales_order.js:1803 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1340 -#: templates/js/translated/build.js:2325 -#: templates/js/translated/model_renderers.js:219 +#: stock/models.py:790 stock/templates/stock/item_base.html:312 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1348 +#: templates/js/translated/build.js:2337 +#: templates/js/translated/model_renderers.js:222 #: templates/js/translated/return_order.js:537 -#: templates/js/translated/return_order.js:717 +#: templates/js/translated/return_order.js:721 #: templates/js/translated/sales_order.js:312 #: templates/js/translated/sales_order.js:1608 #: templates/js/translated/sales_order.js:1693 -#: templates/js/translated/stock.js:562 +#: templates/js/translated/stock.js:596 msgid "Serial Number" msgstr "" @@ -7624,12 +7720,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2274 templates/js/translated/stock.js:1437 +#: stock/models.py:2336 templates/js/translated/stock.js:1475 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2280 +#: stock/models.py:2342 msgid "Result" msgstr "" @@ -7655,356 +7751,377 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:3030 +#: stock/admin.py:122 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3079 msgid "Serial" msgstr "" -#: stock/admin.py:39 stock/admin.py:108 +#: stock/admin.py:40 stock/admin.py:126 msgid "Location ID" msgstr "" -#: stock/admin.py:40 stock/admin.py:109 +#: stock/admin.py:41 stock/admin.py:127 msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/admin.py:45 stock/templates/stock/location.html:130 #: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" -#: stock/admin.py:100 +#: stock/admin.py:118 msgid "Stock Item ID" msgstr "" -#: stock/admin.py:107 +#: stock/admin.py:125 msgid "Status Code" msgstr "" -#: stock/admin.py:110 +#: stock/admin.py:128 msgid "Supplier Part ID" msgstr "" -#: stock/admin.py:111 +#: stock/admin.py:129 msgid "Supplier ID" msgstr "" -#: stock/admin.py:112 +#: stock/admin.py:130 msgid "Supplier Name" msgstr "" -#: stock/admin.py:113 +#: stock/admin.py:131 msgid "Customer ID" msgstr "" -#: stock/admin.py:114 stock/models.py:708 +#: stock/admin.py:132 stock/models.py:773 #: stock/templates/stock/item_base.html:355 msgid "Installed In" msgstr "" -#: stock/admin.py:115 +#: stock/admin.py:133 msgid "Build ID" msgstr "" -#: stock/admin.py:117 +#: stock/admin.py:135 msgid "Sales Order ID" msgstr "" -#: stock/admin.py:118 +#: stock/admin.py:136 msgid "Purchase Order ID" msgstr "" -#: stock/admin.py:125 +#: stock/admin.py:143 msgid "Review Needed" msgstr "" -#: stock/admin.py:126 +#: stock/admin.py:144 msgid "Delete on Deplete" msgstr "" -#: stock/admin.py:131 stock/models.py:789 +#: stock/admin.py:149 stock/models.py:854 #: stock/templates/stock/item_base.html:434 -#: templates/js/translated/stock.js:2162 +#: templates/js/translated/stock.js:2200 msgid "Expiry Date" msgstr "" -#: stock/api.py:434 templates/js/translated/table_filters.js:403 +#: stock/api.py:499 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:641 +#: stock/api.py:693 msgid "Quantity is required" msgstr "" -#: stock/api.py:648 +#: stock/api.py:700 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:676 +#: stock/api.py:728 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:685 +#: stock/api.py:737 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:708 +#: stock/api.py:760 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:54 stock/models.py:692 +#: stock/models.py:56 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:57 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:86 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:116 stock/models.py:757 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:178 +#: stock/models.py:117 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" -#: stock/models.py:118 stock/models.py:828 +#: stock/models.py:181 stock/models.py:893 #: stock/templates/stock/item_base.html:248 msgid "Owner" msgstr "" -#: stock/models.py:119 stock/models.py:829 +#: stock/models.py:182 stock/models.py:894 msgid "Select Owner" msgstr "" -#: stock/models.py:126 +#: stock/models.py:189 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2714 +#: stock/models.py:195 templates/js/translated/stock.js:2752 #: templates/js/translated/table_filters.js:243 msgid "External" msgstr "" -#: stock/models.py:133 +#: stock/models.py:196 msgid "This is an external stock location" msgstr "" -#: stock/models.py:175 +#: stock/models.py:202 templates/js/translated/stock.js:2761 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:205 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:270 msgid "You cannot make this stock location structural because some stock items are already located into it!" msgstr "" -#: stock/models.py:557 +#: stock/models.py:622 msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:230 +#: stock/models.py:648 stock/serializers.py:229 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:600 +#: stock/models.py:665 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:610 stock/models.py:619 +#: stock/models.py:675 stock/models.py:684 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:611 +#: stock/models.py:676 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:633 +#: stock/models.py:698 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:639 +#: stock/models.py:704 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:653 +#: stock/models.py:718 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:667 +#: stock/models.py:732 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:677 +#: stock/models.py:742 msgid "Base part" msgstr "" -#: stock/models.py:685 +#: stock/models.py:750 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:695 +#: stock/models.py:760 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:702 stock/serializers.py:1239 +#: stock/models.py:767 stock/serializers.py:1269 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:711 +#: stock/models.py:776 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:727 +#: stock/models.py:792 msgid "Serial number for this item" msgstr "" -#: stock/models.py:741 stock/serializers.py:1224 +#: stock/models.py:806 stock/serializers.py:1254 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:746 +#: stock/models.py:811 msgid "Stock Quantity" msgstr "" -#: stock/models.py:753 +#: stock/models.py:818 msgid "Source Build" msgstr "" -#: stock/models.py:755 +#: stock/models.py:820 msgid "Build for this stock item" msgstr "" -#: stock/models.py:761 stock/templates/stock/item_base.html:364 +#: stock/models.py:826 stock/templates/stock/item_base.html:364 msgid "Consumed By" msgstr "" -#: stock/models.py:763 +#: stock/models.py:828 msgid "Build order which consumed this stock item" msgstr "" -#: stock/models.py:774 +#: stock/models.py:839 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:777 +#: stock/models.py:842 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:783 +#: stock/models.py:848 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:790 +#: stock/models.py:855 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete on deplete" msgstr "" -#: stock/models.py:805 +#: stock/models.py:870 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:824 +#: stock/models.py:889 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:852 +#: stock/models.py:917 msgid "Converted to part" msgstr "" -#: stock/models.py:1378 +#: stock/models.py:1442 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1384 +#: stock/models.py:1448 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1390 +#: stock/models.py:1454 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1393 +#: stock/models.py:1457 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1396 +#: stock/models.py:1460 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:451 +#: stock/models.py:1467 stock/serializers.py:449 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1474 +#: stock/models.py:1538 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1477 +#: stock/models.py:1541 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1480 +#: stock/models.py:1544 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1483 +#: stock/models.py:1547 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1486 +#: stock/models.py:1550 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1489 +#: stock/models.py:1553 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:1135 +#: stock/models.py:1560 stock/serializers.py:1165 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1500 +#: stock/models.py:1564 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1504 +#: stock/models.py:1568 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1508 +#: stock/models.py:1572 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1702 +#: stock/models.py:1766 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2192 +#: stock/models.py:2254 msgid "Entry notes" msgstr "" -#: stock/models.py:2250 +#: stock/models.py:2312 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2256 +#: stock/models.py:2318 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2275 +#: stock/models.py:2337 msgid "Test name" msgstr "" -#: stock/models.py:2281 +#: stock/models.py:2343 msgid "Test result" msgstr "" -#: stock/models.py:2287 +#: stock/models.py:2349 msgid "Test output value" msgstr "" -#: stock/models.py:2294 +#: stock/models.py:2356 msgid "Test result attachment" msgstr "" -#: stock/models.py:2300 +#: stock/models.py:2362 msgid "Test notes" msgstr "" @@ -8016,141 +8133,141 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:323 +#: stock/serializers.py:321 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:384 +#: stock/serializers.py:382 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:396 +#: stock/serializers.py:394 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:402 +#: stock/serializers.py:400 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:413 stock/serializers.py:1092 stock/serializers.py:1363 +#: stock/serializers.py:411 stock/serializers.py:1122 stock/serializers.py:1393 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:420 +#: stock/serializers.py:418 msgid "Optional note field" msgstr "" -#: stock/serializers.py:430 +#: stock/serializers.py:428 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:491 +#: stock/serializers.py:489 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:496 stock/serializers.py:554 stock/serializers.py:650 -#: stock/serializers.py:708 +#: stock/serializers.py:494 stock/serializers.py:552 stock/serializers.py:646 +#: stock/serializers.py:702 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:505 +#: stock/serializers.py:503 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:512 +#: stock/serializers.py:510 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:549 +#: stock/serializers.py:547 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:588 +#: stock/serializers.py:586 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:599 +#: stock/serializers.py:596 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:614 +#: stock/serializers.py:610 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:645 +#: stock/serializers.py:641 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:689 +#: stock/serializers.py:684 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:696 +#: stock/serializers.py:690 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:947 +#: stock/serializers.py:977 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:981 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:985 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:986 +#: stock/serializers.py:1016 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:992 +#: stock/serializers.py:1022 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1000 +#: stock/serializers.py:1030 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1010 stock/serializers.py:1270 +#: stock/serializers.py:1040 stock/serializers.py:1300 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1099 +#: stock/serializers.py:1129 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1104 +#: stock/serializers.py:1134 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1105 +#: stock/serializers.py:1135 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1110 +#: stock/serializers.py:1140 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1111 +#: stock/serializers.py:1141 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1121 +#: stock/serializers.py:1151 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1210 +#: stock/serializers.py:1240 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1231 +#: stock/serializers.py:1261 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1260 +#: stock/serializers.py:1290 msgid "Stock transaction notes" msgstr "" @@ -8191,7 +8308,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3177 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3230 msgid "Install Stock Item" msgstr "" @@ -8199,7 +8316,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1667 msgid "Add Test Result" msgstr "" @@ -8222,17 +8339,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1792 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1736 +#: templates/js/translated/stock.js:1774 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1783 msgid "Remove stock" msgstr "" @@ -8241,12 +8358,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1801 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1817 +#: templates/js/translated/stock.js:1855 msgid "Assign to customer" msgstr "" @@ -8287,7 +8404,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2093 templates/navbar.html:38 +#: templates/js/translated/build.js:2105 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8353,7 +8470,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/build.js:2350 +#: templates/js/translated/build.js:2362 msgid "No location set" msgstr "" @@ -8371,7 +8488,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:438 -#: templates/js/translated/table_filters.js:411 +#: templates/js/translated/table_filters.js:435 msgid "Expired" msgstr "" @@ -8381,7 +8498,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:440 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" @@ -8390,7 +8507,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:508 -#: templates/js/translated/stock.js:1884 +#: templates/js/translated/stock.js:1922 msgid "stock item" msgstr "" @@ -8422,7 +8539,7 @@ msgstr "" msgid "Convert Stock Item" msgstr "" -#: stock/templates/stock/item_base.html:659 +#: stock/templates/stock/item_base.html:663 msgid "Return to Stock" msgstr "" @@ -8500,20 +8617,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:279 -#: templates/js/translated/stock.js:2505 +#: stock/templates/stock/location.html:288 +#: templates/js/translated/stock.js:2543 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:307 +#: stock/templates/stock/location.html:316 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:380 +#: stock/templates/stock/location.html:389 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:391 +#: stock/templates/stock/location.html:400 msgid "Link Barcode to Stock Location" msgstr "" @@ -8823,7 +8940,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:41 -#: templates/js/translated/plugin.js:151 +#: templates/js/translated/plugin.js:150 msgid "Install Plugin" msgstr "" @@ -8849,7 +8966,7 @@ msgid "Plugin information" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:42 -#: templates/js/translated/plugin.js:89 +#: templates/js/translated/plugin.js:85 msgid "Version" msgstr "" @@ -8886,7 +9003,8 @@ msgid "Installation path" msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 -#: templates/js/translated/plugin.js:77 +#: templates/js/translated/plugin.js:67 +#: templates/js/translated/table_filters.js:492 msgid "Builtin" msgstr "" @@ -8894,21 +9012,31 @@ msgstr "" msgid "This is a builtin plugin which cannot be disabled" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:106 +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:71 +#: templates/js/translated/table_filters.js:496 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:110 +#: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:114 +#: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:118 +#: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" msgstr "" @@ -8997,9 +9125,9 @@ msgid "Edit" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:81 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:373 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:256 +#: templates/js/translated/forms.js:508 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:389 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:257 msgid "Delete" msgstr "" @@ -9034,12 +9162,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:288 -#: templates/js/translated/part.js:1626 +#: templates/js/translated/part.js:1642 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:289 -#: templates/js/translated/part.js:1627 +#: templates/js/translated/part.js:1643 msgid "Delete Template" msgstr "" @@ -9047,18 +9175,44 @@ msgstr "" msgid "Edit Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:329 +#: templates/InvenTree/settings/settings_staff_js.html:333 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:364 +#: templates/InvenTree/settings/settings_staff_js.html:368 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings_staff_js.html:390 +#: templates/InvenTree/settings/settings_staff_js.html:398 msgid "Create Part Parameter Template" msgstr "" +#: templates/InvenTree/settings/settings_staff_js.html:420 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:441 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/InvenTree/settings/settings_staff_js.html:460 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:447 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:470 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:480 +#: templates/InvenTree/settings/stock.html:35 +msgid "New Location Type" +msgstr "" + #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" @@ -9077,9 +9231,9 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:543 templates/navbar.html:107 -#: templates/search.html:8 templates/search_form.html:6 -#: templates/search_form.html:7 +#: templates/js/translated/forms.js:2045 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 msgid "Search" msgstr "" @@ -9112,6 +9266,10 @@ msgstr "" msgid "Stock Settings" msgstr "" +#: templates/InvenTree/settings/stock.html:31 +msgid "Stock Location Types" +msgstr "" + #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" msgstr "" @@ -9421,7 +9579,7 @@ msgstr "" msgid "Please confirm that %(email)s is an email address for user %(user_display)s." msgstr "" -#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:728 msgid "Confirm" msgstr "" @@ -9601,18 +9759,26 @@ msgstr "" msgid "Barcode Identifier" msgstr "" -#: templates/base.html:102 +#: templates/base.html:103 msgid "Server Restart Required" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" msgstr "" -#: templates/base.html:105 +#: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" msgstr "" +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + #: templates/email/build_order_completed.html:9 #: templates/email/new_order_assigned.html:9 #: templates/email/overdue_build_order.html:9 @@ -9641,7 +9807,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1663 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1668 templates/js/translated/build.js:2541 msgid "Required Quantity" msgstr "" @@ -9655,15 +9821,15 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3161 +#: templates/js/translated/part.js:3182 msgid "Minimum Quantity" msgstr "" -#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1124 +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1125 +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 msgid "No response from the InvenTree server" msgstr "" @@ -9675,27 +9841,27 @@ msgstr "" msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1134 +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1135 +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1139 +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1140 +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1144 +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1145 +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 msgid "The requested resource could not be located on the server" msgstr "" @@ -9707,19 +9873,27 @@ msgstr "" msgid "HTTP method not allowed at URL" msgstr "" -#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1149 +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1150 +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 msgid "Connection timeout while requesting data from server" msgstr "" #: templates/js/translated/api.js:261 -msgid "Unhandled Error Code" +msgid "Error 503: Service Unavailable" msgstr "" #: templates/js/translated/api.js:262 +msgid "The server is currently unavailable" +msgstr "" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 msgid "Error code" msgstr "" @@ -9788,7 +9962,7 @@ msgid "Unknown response from server" msgstr "" #: templates/js/translated/barcode.js:252 -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "Invalid server response" msgstr "" @@ -9812,7 +9986,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1155 msgid "Remove stock item" msgstr "" @@ -9883,8 +10057,8 @@ msgid "Row Data" msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 -#: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 -#: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 #: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" @@ -10002,7 +10176,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2473 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2485 msgid "Variant stock allowed" msgstr "" @@ -10010,74 +10184,74 @@ msgstr "" msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1134 +#: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1139 +#: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1146 +#: templates/js/translated/bom.js:1151 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1177 templates/js/translated/build.js:2567 +#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2579 #: templates/js/translated/sales_order.js:1907 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1182 templates/js/translated/build.js:2571 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2583 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2573 -#: templates/js/translated/part.js:1237 +#: templates/js/translated/bom.js:1189 templates/js/translated/build.js:2585 +#: templates/js/translated/part.js:1253 #: templates/js/translated/sales_order.js:1904 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1186 templates/js/translated/build.js:2575 +#: templates/js/translated/bom.js:1191 templates/js/translated/build.js:2587 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1214 templates/js/translated/build.js:2558 +#: templates/js/translated/bom.js:1219 templates/js/translated/build.js:2570 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1274 +#: templates/js/translated/bom.js:1279 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1276 +#: templates/js/translated/bom.js:1281 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1278 +#: templates/js/translated/bom.js:1283 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/bom.js:1475 +#: templates/js/translated/bom.js:1285 templates/js/translated/bom.js:1480 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1282 +#: templates/js/translated/bom.js:1287 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1302 +#: templates/js/translated/bom.js:1307 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1386 +#: templates/js/translated/bom.js:1391 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1646 templates/js/translated/build.js:2458 +#: templates/js/translated/bom.js:1651 templates/js/translated/build.js:2470 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1672 +#: templates/js/translated/bom.js:1677 msgid "Inherited from parent BOM" msgstr "" @@ -10121,13 +10295,13 @@ msgstr "" msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 -#: templates/js/translated/stock.js:264 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 -#: templates/js/translated/stock.js:266 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 msgid "Latest serial number" msgstr "" @@ -10179,13 +10353,13 @@ msgstr "" msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 -#: templates/js/translated/build.js:818 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:700 +#: templates/js/translated/build.js:826 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 -#: templates/js/translated/build.js:819 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:701 +#: templates/js/translated/build.js:827 msgid "At least one build output must be selected" msgstr "" @@ -10193,264 +10367,265 @@ msgstr "" msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 -#: templates/js/translated/build.js:841 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:725 +#: templates/js/translated/build.js:849 msgid "Output" msgstr "" -#: templates/js/translated/build.js:615 +#: templates/js/translated/build.js:619 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:712 +#: templates/js/translated/build.js:716 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:714 +#: templates/js/translated/build.js:718 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:715 +#: templates/js/translated/build.js:719 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:716 +#: templates/js/translated/build.js:720 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:743 +#: templates/js/translated/build.js:751 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:833 +#: templates/js/translated/build.js:841 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:843 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:836 +#: templates/js/translated/build.js:844 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:854 +#: templates/js/translated/build.js:862 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:941 +#: templates/js/translated/build.js:949 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2314 +#: templates/js/translated/build.js:978 templates/js/translated/build.js:2326 msgid "Allocated Quantity" msgstr "" -#: templates/js/translated/build.js:984 +#: templates/js/translated/build.js:992 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1006 +#: templates/js/translated/build.js:1014 msgid "Complete outputs" msgstr "" -#: templates/js/translated/build.js:1024 +#: templates/js/translated/build.js:1032 msgid "Scrap outputs" msgstr "" -#: templates/js/translated/build.js:1042 +#: templates/js/translated/build.js:1050 msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1096 +#: templates/js/translated/build.js:1104 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1097 +#: templates/js/translated/build.js:1105 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1109 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1270 +#: templates/js/translated/build.js:1278 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1363 +#: templates/js/translated/build.js:1371 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1377 +#: templates/js/translated/build.js:1385 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1549 +#: templates/js/translated/build.js:1557 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1550 +#: templates/js/translated/build.js:1558 #: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1613 +#: templates/js/translated/build.js:1621 #: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1690 +#: templates/js/translated/build.js:1698 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1691 +#: templates/js/translated/build.js:1699 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1705 +#: templates/js/translated/build.js:1713 #: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1733 +#: templates/js/translated/build.js:1741 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:1752 #: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1817 +#: templates/js/translated/build.js:1825 #: templates/js/translated/sales_order.js:1359 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1914 +#: templates/js/translated/build.js:1922 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1915 +#: templates/js/translated/build.js:1923 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1917 +#: templates/js/translated/build.js:1925 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1918 +#: templates/js/translated/build.js:1926 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1919 +#: templates/js/translated/build.js:1927 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "" -#: templates/js/translated/build.js:1946 +#: templates/js/translated/build.js:1958 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2052 +#: templates/js/translated/build.js:2064 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2087 templates/js/translated/build.js:2452 -#: templates/js/translated/part.js:2290 templates/js/translated/part.js:2716 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2643 +#: templates/js/translated/build.js:2099 templates/js/translated/build.js:2464 +#: templates/js/translated/forms.js:2041 templates/js/translated/forms.js:2057 +#: templates/js/translated/part.js:2311 templates/js/translated/part.js:2737 +#: templates/js/translated/stock.js:1953 templates/js/translated/stock.js:2681 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2101 +#: templates/js/translated/build.js:2113 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2147 +#: templates/js/translated/build.js:2159 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/stock.js:2964 +#: templates/js/translated/build.js:2195 templates/js/translated/stock.js:3013 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2198 +#: templates/js/translated/build.js:2210 msgid "group" msgstr "" -#: templates/js/translated/build.js:2359 +#: templates/js/translated/build.js:2371 #: templates/js/translated/sales_order.js:1643 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2360 +#: templates/js/translated/build.js:2372 #: templates/js/translated/sales_order.js:1644 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2375 +#: templates/js/translated/build.js:2387 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2387 +#: templates/js/translated/build.js:2399 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2428 +#: templates/js/translated/build.js:2440 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2429 +#: templates/js/translated/build.js:2441 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2447 +#: templates/js/translated/build.js:2459 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2477 templates/js/translated/part.js:771 -#: templates/js/translated/part.js:1183 +#: templates/js/translated/build.js:2489 templates/js/translated/part.js:787 +#: templates/js/translated/part.js:1199 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2512 +#: templates/js/translated/build.js:2524 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2561 +#: templates/js/translated/build.js:2573 #: templates/js/translated/sales_order.js:1914 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2563 +#: templates/js/translated/build.js:2575 #: templates/js/translated/sales_order.js:1912 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2610 +#: templates/js/translated/build.js:2622 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2615 +#: templates/js/translated/build.js:2627 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2622 +#: templates/js/translated/build.js:2634 #: templates/js/translated/sales_order.js:2013 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2627 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2639 templates/js/translated/stock.js:1836 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2631 +#: templates/js/translated/build.js:2643 #: templates/js/translated/sales_order.js:2007 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2635 +#: templates/js/translated/build.js:2647 msgid "Remove stock allocation" msgstr "" @@ -10597,7 +10772,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1181 -#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2218 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:2239 msgid "Order parts" msgstr "" @@ -10614,34 +10789,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1269 -#: templates/js/translated/company.js:1557 templates/js/translated/part.js:779 -#: templates/js/translated/part.js:1191 +#: templates/js/translated/company.js:1557 templates/js/translated/part.js:795 +#: templates/js/translated/part.js:1207 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1273 -#: templates/js/translated/company.js:1561 templates/js/translated/part.js:783 -#: templates/js/translated/part.js:1195 +#: templates/js/translated/company.js:1561 templates/js/translated/part.js:799 +#: templates/js/translated/part.js:1211 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1445 +#: templates/js/translated/company.js:1393 templates/js/translated/part.js:1461 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1508 +#: templates/js/translated/company.js:1428 templates/js/translated/part.js:1524 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1509 +#: templates/js/translated/company.js:1429 templates/js/translated/part.js:1525 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1414 +#: templates/js/translated/company.js:1446 templates/js/translated/part.js:1430 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1530 +#: templates/js/translated/company.js:1455 templates/js/translated/part.js:1546 msgid "Delete Parameter" msgstr "" @@ -10737,61 +10912,61 @@ msgstr "" msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:369 templates/js/translated/forms.js:384 -#: templates/js/translated/forms.js:398 templates/js/translated/forms.js:412 +#: templates/js/translated/forms.js:371 templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:400 templates/js/translated/forms.js:414 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:371 +#: templates/js/translated/forms.js:373 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:386 +#: templates/js/translated/forms.js:388 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:400 +#: templates/js/translated/forms.js:402 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:414 +#: templates/js/translated/forms.js:416 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:752 +#: templates/js/translated/forms.js:754 msgid "Keep this form open" msgstr "" -#: templates/js/translated/forms.js:853 +#: templates/js/translated/forms.js:855 msgid "Enter a valid number" msgstr "" -#: templates/js/translated/forms.js:1401 templates/modals.html:19 +#: templates/js/translated/forms.js:1403 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1855 +#: templates/js/translated/forms.js:1857 msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 +#: templates/js/translated/forms.js:2161 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2285 +#: templates/js/translated/forms.js:2375 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2742 +#: templates/js/translated/forms.js:2832 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2754 +#: templates/js/translated/forms.js:2844 msgid "Select Columns" msgstr "" @@ -10851,62 +11026,62 @@ msgstr "" msgid "Labels sent to printer" msgstr "" -#: templates/js/translated/modals.js:55 templates/js/translated/modals.js:152 -#: templates/js/translated/modals.js:677 +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:151 -#: templates/js/translated/modals.js:745 templates/js/translated/modals.js:1053 +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:150 +#: templates/js/translated/modals.js:156 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:439 +#: templates/js/translated/modals.js:445 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:590 +#: templates/js/translated/modals.js:596 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:676 +#: templates/js/translated/modals.js:682 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:734 +#: templates/js/translated/modals.js:740 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:1005 +#: templates/js/translated/modals.js:1011 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1023 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1114 +#: templates/js/translated/modals.js:1120 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1129 +#: templates/js/translated/modals.js:1135 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1130 +#: templates/js/translated/modals.js:1136 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1153 +#: templates/js/translated/modals.js:1159 msgid "Error requesting form data" msgstr "" @@ -10916,7 +11091,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1585 +#: templates/js/translated/part.js:1601 msgid "ID" msgstr "" @@ -10965,7 +11140,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1965 +#: templates/js/translated/purchase_order.js:1969 msgid "No line items found" msgstr "" @@ -10997,339 +11172,339 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:297 +#: templates/js/translated/part.js:305 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:313 templates/js/translated/stock.js:146 +#: templates/js/translated/part.js:329 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:349 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:336 +#: templates/js/translated/part.js:352 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:337 +#: templates/js/translated/part.js:353 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:351 +#: templates/js/translated/part.js:367 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:364 +#: templates/js/translated/part.js:380 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:385 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:378 +#: templates/js/translated/part.js:394 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:398 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:387 +#: templates/js/translated/part.js:403 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:427 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:413 +#: templates/js/translated/part.js:429 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:430 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:442 +#: templates/js/translated/part.js:458 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:444 +#: templates/js/translated/part.js:460 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:455 +#: templates/js/translated/part.js:471 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:512 +#: templates/js/translated/part.js:528 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:513 +#: templates/js/translated/part.js:529 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:543 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:529 +#: templates/js/translated/part.js:545 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:530 +#: templates/js/translated/part.js:546 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:531 +#: templates/js/translated/part.js:547 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:538 +#: templates/js/translated/part.js:554 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:574 +#: templates/js/translated/part.js:590 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:576 +#: templates/js/translated/part.js:592 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:581 +#: templates/js/translated/part.js:597 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:583 +#: templates/js/translated/part.js:599 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:600 +#: templates/js/translated/part.js:616 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:626 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:613 +#: templates/js/translated/part.js:629 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:638 +#: templates/js/translated/part.js:654 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:666 -#: templates/js/translated/table_filters.js:707 +#: templates/js/translated/part.js:682 +#: templates/js/translated/table_filters.js:743 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:669 +#: templates/js/translated/part.js:685 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:729 +#: templates/js/translated/part.js:745 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:752 +#: templates/js/translated/part.js:768 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:775 templates/js/translated/part.js:1187 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1203 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:787 +#: templates/js/translated/part.js:803 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:791 +#: templates/js/translated/part.js:807 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:870 +#: templates/js/translated/part.js:886 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:878 +#: templates/js/translated/part.js:894 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:882 +#: templates/js/translated/part.js:898 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1031 +#: templates/js/translated/part.js:1047 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1089 templates/js/translated/part.js:1125 +#: templates/js/translated/part.js:1105 templates/js/translated/part.js:1141 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1093 templates/js/translated/part.js:1135 +#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1151 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1262 +#: templates/js/translated/part.js:1278 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1580 +#: templates/js/translated/part.js:1596 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1643 +#: templates/js/translated/part.js:1659 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1671 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1679 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1697 -#: templates/js/translated/purchase_order.js:1633 +#: templates/js/translated/part.js:1713 +#: templates/js/translated/purchase_order.js:1637 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1840 -#: templates/js/translated/purchase_order.js:2128 -#: templates/js/translated/return_order.js:749 +#: templates/js/translated/part.js:1856 +#: templates/js/translated/purchase_order.js:2132 +#: templates/js/translated/return_order.js:753 #: templates/js/translated/sales_order.js:1872 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1885 -#: templates/js/translated/purchase_order.js:2195 +#: templates/js/translated/part.js:1901 +#: templates/js/translated/purchase_order.js:2199 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1948 +#: templates/js/translated/part.js:1964 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1986 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2058 templates/js/translated/part.js:2480 +#: templates/js/translated/part.js:2074 templates/js/translated/part.js:2501 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2195 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2184 +#: templates/js/translated/part.js:2200 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2209 +#: templates/js/translated/part.js:2230 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2262 +#: templates/js/translated/part.js:2283 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2379 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2505 templates/js/translated/part.js:2635 -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/part.js:2526 templates/js/translated/part.js:2656 +#: templates/js/translated/stock.js:2640 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2521 +#: templates/js/translated/part.js:2542 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2619 +#: templates/js/translated/part.js:2640 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2655 templates/js/translated/stock.js:2622 +#: templates/js/translated/part.js:2676 templates/js/translated/stock.js:2660 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2735 +#: templates/js/translated/part.js:2756 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2751 +#: templates/js/translated/part.js:2772 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2828 +#: templates/js/translated/part.js:2849 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2879 templates/js/translated/stock.js:1398 +#: templates/js/translated/part.js:2900 templates/js/translated/stock.js:1436 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2880 templates/js/translated/stock.js:1399 -#: templates/js/translated/stock.js:1661 +#: templates/js/translated/part.js:2901 templates/js/translated/stock.js:1437 +#: templates/js/translated/stock.js:1699 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2884 +#: templates/js/translated/part.js:2905 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2900 +#: templates/js/translated/part.js:2921 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2914 +#: templates/js/translated/part.js:2935 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2993 templates/js/translated/part.js:2994 +#: templates/js/translated/part.js:3014 templates/js/translated/part.js:3015 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2996 +#: templates/js/translated/part.js:3017 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3002 +#: templates/js/translated/part.js:3023 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3073 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3058 +#: templates/js/translated/part.js:3079 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3154 +#: templates/js/translated/part.js:3175 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3170 +#: templates/js/translated/part.js:3191 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3215 +#: templates/js/translated/part.js:3236 msgid "Minimum Stock Level" msgstr "" @@ -11337,51 +11512,47 @@ msgstr "" msgid "No plugins found" msgstr "" -#: templates/js/translated/plugin.js:54 +#: templates/js/translated/plugin.js:57 +msgid "This plugin is no longer installed" +msgstr "" + +#: templates/js/translated/plugin.js:59 msgid "This plugin is active" msgstr "" -#: templates/js/translated/plugin.js:56 -msgid "This plugin is not active" +#: templates/js/translated/plugin.js:61 +msgid "This plugin is installed but not active" msgstr "" -#: templates/js/translated/plugin.js:62 -msgid "Plugin Description" -msgstr "" - -#: templates/js/translated/plugin.js:81 -msgid "Sample" -msgstr "" - -#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:116 templates/js/translated/plugin.js:185 msgid "Disable Plugin" msgstr "" -#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +#: templates/js/translated/plugin.js:118 templates/js/translated/plugin.js:185 msgid "Enable Plugin" msgstr "" -#: templates/js/translated/plugin.js:158 +#: templates/js/translated/plugin.js:157 msgid "The Plugin was installed" msgstr "" -#: templates/js/translated/plugin.js:174 +#: templates/js/translated/plugin.js:176 msgid "Are you sure you want to enable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:178 +#: templates/js/translated/plugin.js:180 msgid "Are you sure you want to disable this plugin?" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Enable" msgstr "" -#: templates/js/translated/plugin.js:186 +#: templates/js/translated/plugin.js:188 msgid "Disable" msgstr "" -#: templates/js/translated/plugin.js:200 +#: templates/js/translated/plugin.js:202 msgid "Plugin updated" msgstr "" @@ -11578,80 +11749,80 @@ msgstr "" msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:554 +#: templates/js/translated/purchase_order.js:1318 +#: templates/js/translated/return_order.js:558 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1315 +#: templates/js/translated/purchase_order.js:1319 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1387 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1384 +#: templates/js/translated/purchase_order.js:1388 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1398 +#: templates/js/translated/purchase_order.js:1402 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/purchase_order.js:1664 #: templates/js/translated/return_order.js:283 #: templates/js/translated/sales_order.js:771 #: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/purchase_order.js:1726 #: templates/js/translated/return_order.js:351 #: templates/js/translated/sales_order.js:848 #: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1818 +#: templates/js/translated/purchase_order.js:1822 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1836 +#: templates/js/translated/purchase_order.js:1840 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/purchase_order.js:1895 #: templates/js/translated/sales_order.js:2067 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/purchase_order.js:1910 #: templates/js/translated/return_order.js:473 -#: templates/js/translated/return_order.js:662 +#: templates/js/translated/return_order.js:666 #: templates/js/translated/sales_order.js:2080 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1917 -#: templates/js/translated/return_order.js:675 +#: templates/js/translated/purchase_order.js:1921 +#: templates/js/translated/return_order.js:679 #: templates/js/translated/sales_order.js:2091 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/purchase_order.js:2203 #: templates/js/translated/sales_order.js:2021 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2200 -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:798 #: templates/js/translated/sales_order.js:2022 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2201 -#: templates/js/translated/return_order.js:798 +#: templates/js/translated/purchase_order.js:2205 +#: templates/js/translated/return_order.js:802 #: templates/js/translated/sales_order.js:2028 msgid "Delete line item" msgstr "" @@ -11714,16 +11885,16 @@ msgstr "" msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:555 +#: templates/js/translated/return_order.js:559 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:686 +#: templates/js/translated/return_order.js:690 #: templates/js/translated/sales_order.js:2227 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:791 +#: templates/js/translated/return_order.js:795 msgid "Mark item as received" msgstr "" @@ -11866,7 +12037,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1620 #: templates/js/translated/sales_order.js:1707 -#: templates/js/translated/stock.js:1706 +#: templates/js/translated/stock.js:1744 msgid "Shipped to customer" msgstr "" @@ -11928,464 +12099,472 @@ msgstr "" msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:97 +#: templates/js/translated/stock.js:98 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:128 +#: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:137 +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:172 +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:187 +#: templates/js/translated/stock.js:217 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:189 +#: templates/js/translated/stock.js:219 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:220 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:204 +#: templates/js/translated/stock.js:234 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:211 +#: templates/js/translated/stock.js:241 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:220 +#: templates/js/translated/stock.js:250 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:224 +#: templates/js/translated/stock.js:254 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:229 +#: templates/js/translated/stock.js:259 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:283 +#: templates/js/translated/stock.js:313 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:319 +#: templates/js/translated/stock.js:349 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:328 +#: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:334 +#: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:405 +#: templates/js/translated/stock.js:439 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:425 +#: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:441 +#: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:446 +#: templates/js/translated/stock.js:480 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:467 +#: templates/js/translated/stock.js:501 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:509 +#: templates/js/translated/stock.js:543 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:521 +#: templates/js/translated/stock.js:555 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:534 +#: templates/js/translated/stock.js:568 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:559 +#: templates/js/translated/stock.js:593 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:580 +#: templates/js/translated/stock.js:614 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:600 +#: templates/js/translated/stock.js:634 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:609 +#: templates/js/translated/stock.js:643 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:717 +#: templates/js/translated/stock.js:751 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:752 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:795 +#: templates/js/translated/stock.js:829 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:830 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:798 +#: templates/js/translated/stock.js:832 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:833 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:890 +#: templates/js/translated/stock.js:928 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:929 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:986 +#: templates/js/translated/stock.js:1024 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:1025 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:993 +#: templates/js/translated/stock.js:1031 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:1032 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:998 +#: templates/js/translated/stock.js:1036 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:1037 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1003 +#: templates/js/translated/stock.js:1041 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:252 +#: templates/js/translated/stock.js:1042 users/models.py:253 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1008 +#: templates/js/translated/stock.js:1046 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1105 +#: templates/js/translated/stock.js:1143 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3205 +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3258 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1178 msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1186 +#: templates/js/translated/stock.js:1224 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1322 +#: templates/js/translated/stock.js:1360 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1324 +#: templates/js/translated/stock.js:1362 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1329 +#: templates/js/translated/stock.js:1367 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1391 +#: templates/js/translated/stock.js:1429 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1394 +#: templates/js/translated/stock.js:1432 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1418 +#: templates/js/translated/stock.js:1456 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1482 +#: templates/js/translated/stock.js:1520 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1682 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1666 +#: templates/js/translated/stock.js:1704 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1736 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1702 +#: templates/js/translated/stock.js:1740 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1710 +#: templates/js/translated/stock.js:1748 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1716 +#: templates/js/translated/stock.js:1754 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1772 +#: templates/js/translated/stock.js:1810 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1819 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1830 +#: templates/js/translated/stock.js:1868 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:1923 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1890 +#: templates/js/translated/stock.js:1928 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1901 +#: templates/js/translated/stock.js:1939 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1945 +#: templates/js/translated/stock.js:1983 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2023 +#: templates/js/translated/stock.js:2061 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2066 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2069 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2034 +#: templates/js/translated/stock.js:2072 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2036 +#: templates/js/translated/stock.js:2074 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2076 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2041 +#: templates/js/translated/stock.js:2079 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2081 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2085 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2049 +#: templates/js/translated/stock.js:2087 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2054 +#: templates/js/translated/stock.js:2092 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2056 +#: templates/js/translated/stock.js:2094 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2058 +#: templates/js/translated/stock.js:2096 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2062 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/stock.js:2100 +#: templates/js/translated/table_filters.js:350 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2227 +#: templates/js/translated/stock.js:2265 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2274 +#: templates/js/translated/stock.js:2312 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2402 +#: templates/js/translated/stock.js:2440 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2506 +#: templates/js/translated/stock.js:2544 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/stock.js:2699 msgid "Load Sublocations" msgstr "" -#: templates/js/translated/stock.js:2768 +#: templates/js/translated/stock.js:2817 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2772 +#: templates/js/translated/stock.js:2821 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2833 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2806 +#: templates/js/translated/stock.js:2855 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2823 +#: templates/js/translated/stock.js:2872 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2838 +#: templates/js/translated/stock.js:2887 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2904 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2872 +#: templates/js/translated/stock.js:2921 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2891 +#: templates/js/translated/stock.js:2940 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2909 +#: templates/js/translated/stock.js:2958 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2927 +#: templates/js/translated/stock.js:2976 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2935 +#: templates/js/translated/stock.js:2984 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:3007 +#: templates/js/translated/stock.js:3056 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3057 templates/js/translated/stock.js:3092 +#: templates/js/translated/stock.js:3106 templates/js/translated/stock.js:3141 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3110 +#: templates/js/translated/stock.js:3163 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3131 +#: templates/js/translated/stock.js:3184 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3132 +#: templates/js/translated/stock.js:3185 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3134 +#: templates/js/translated/stock.js:3187 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3135 +#: templates/js/translated/stock.js:3188 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3136 +#: templates/js/translated/stock.js:3189 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3137 +#: templates/js/translated/stock.js:3190 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3150 +#: templates/js/translated/stock.js:3203 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3206 +#: templates/js/translated/stock.js:3259 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3219 +#: templates/js/translated/stock.js:3272 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3223 +#: templates/js/translated/stock.js:3276 msgid "Change Stock Status" msgstr "" @@ -12394,23 +12573,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:89 -#: templates/js/translated/table_filters.js:565 -#: templates/js/translated/table_filters.js:577 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:601 +#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:654 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:94 -#: templates/js/translated/table_filters.js:582 -#: templates/js/translated/table_filters.js:608 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:644 +#: templates/js/translated/table_filters.js:659 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:102 -#: templates/js/translated/table_filters.js:488 -#: templates/js/translated/table_filters.js:590 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 msgid "Assigned to me" msgstr "" @@ -12431,12 +12610,12 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:775 msgid "Has Pricing" msgstr "" #: templates/js/translated/table_filters.js:234 -#: templates/js/translated/table_filters.js:321 +#: templates/js/translated/table_filters.js:345 msgid "Include sublocations" msgstr "" @@ -12444,210 +12623,210 @@ msgstr "" msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:254 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:671 -msgid "Include subcategories" -msgstr "" - -#: templates/js/translated/table_filters.js:263 -#: templates/js/translated/table_filters.js:719 -msgid "Subscribed" -msgstr "" - -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:356 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:277 -#: templates/js/translated/table_filters.js:363 -msgid "Serial number GTE" +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" msgstr "" #: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:364 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:707 +msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:281 -#: templates/js/translated/table_filters.js:367 -msgid "Serial number LTE" +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:755 +msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:282 -#: templates/js/translated/table_filters.js:368 -msgid "Serial number less than or equal to" -msgstr "" - -#: templates/js/translated/table_filters.js:285 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:359 -#: templates/js/translated/table_filters.js:360 -msgid "Serial number" -msgstr "" - -#: templates/js/translated/table_filters.js:290 -#: templates/js/translated/table_filters.js:381 -msgid "Batch code" +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:301 -#: templates/js/translated/table_filters.js:660 -msgid "Active parts" +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:696 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:335 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:336 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:341 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:346 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:327 +#: templates/js/translated/table_filters.js:351 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:356 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:361 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:341 +#: templates/js/translated/table_filters.js:365 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:342 +#: templates/js/translated/table_filters.js:366 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:346 -msgid "Installed" -msgstr "" - -#: templates/js/translated/table_filters.js:347 +#: templates/js/translated/table_filters.js:371 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:352 +#: templates/js/translated/table_filters.js:376 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:372 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:376 +#: templates/js/translated/table_filters.js:400 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:385 +#: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:414 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:391 +#: templates/js/translated/table_filters.js:415 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:419 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:423 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:412 +#: templates/js/translated/table_filters.js:436 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:418 +#: templates/js/translated/table_filters.js:442 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:432 +#: templates/js/translated/table_filters.js:456 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:436 +#: templates/js/translated/table_filters.js:460 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:475 +#: templates/js/translated/table_filters.js:511 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:708 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:713 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:685 +#: templates/js/translated/table_filters.js:721 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:693 -#: templates/js/translated/table_filters.js:789 +#: templates/js/translated/table_filters.js:729 +#: templates/js/translated/table_filters.js:825 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:694 +#: templates/js/translated/table_filters.js:730 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:734 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:699 +#: templates/js/translated/table_filters.js:735 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:703 +#: templates/js/translated/table_filters.js:739 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:711 +#: templates/js/translated/table_filters.js:747 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:723 +#: templates/js/translated/table_filters.js:759 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:785 +#: templates/js/translated/table_filters.js:821 msgid "Has Choices" msgstr "" @@ -12938,34 +13117,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:239 +#: users/models.py:240 msgid "Permission set" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Group" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "View" msgstr "" -#: users/models.py:250 +#: users/models.py:251 msgid "Permission to view items" msgstr "" -#: users/models.py:252 +#: users/models.py:253 msgid "Permission to add items" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Change" msgstr "" -#: users/models.py:254 +#: users/models.py:255 msgid "Permissions to edit items" msgstr "" -#: users/models.py:256 +#: users/models.py:257 msgid "Permission to delete items" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index 45e711747d..192649a747 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:26\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 85fe322528..c56c35c177 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index d57f627403..839573c85f 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,115 +31,117 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Abbrechen" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Speichern" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Login fehlgeschlagen" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Willkommen zurück!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Willkommen zurück!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Prüfen Sie Ihren Posteingang auf den Anmeldelink. Wenn Sie ein Konto haben, erhalten Sie einen Anmeldelink. Prüfen Sie auch den Spam." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Eingabefehler" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Eingabefehler" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Nutzername" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Passwort" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Dein Passwort" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Passwort zurücksetzen" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Mail" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Wir werden Ihnen einen Link für die Anmeldung senden" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Mail erhalten" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Benutzername und Passwort verwenden" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Einoggen" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Mail senden" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Adresse" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Name" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "Fehler" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Mehr lesen" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Unbekannter Fehler" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "QR-Code scannen" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Einstellungen" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Benutzereinstellungen" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Abmelden" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Abmelden" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Abmelden" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Benachrichtigungen" @@ -380,8 +402,8 @@ msgstr "Benachrichtigungen" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Nutzer" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Webseite" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Webseite" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "Startseite" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "Lizenzen für Pakete, die von InvenTree verwendet werden" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "Auf Wiedersehen." -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Prüfen Sie Ihren Posteingang für einen Link zum Zurücksetzen. Dies funktioniert nur, wenn Sie ein Konto haben. Prüfen Sie auch den Spam-Ordner." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "Zurücksetzen fehlgeschlagen" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Bereits angemeldet" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "Es existiert ein Login - mit dem Sie angemeldet werden." -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Prüfe ob Sie bereits angemeldet sind" @@ -1491,6 +1793,11 @@ msgstr "Keine Auswahl" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Mail senden" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Token ungültig" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "Diese Seite ist nicht bekannt oder wurde verschoben." msgid "Go to the start page" msgstr "Zur Startseite" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index eb18f6a0a5..f302634b23 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 74ac530601..3b03e7a7e7 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -13,38 +13,39 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Title" -#: src/components/forms/ApiForm.tsx:189 +#: src/components/forms/ApiForm.tsx:195 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Success" -#: src/components/forms/ApiForm.tsx:262 +#: src/components/forms/ApiForm.tsx:269 msgid "Form Errors Exist" msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:301 +#: src/components/forms/ApiForm.tsx:308 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Cancel" -#: src/components/forms/ApiForm.tsx:310 -#: src/contexts/ThemeContext.tsx:65 -#: src/pages/Index/Profile/UserPanel.tsx:107 +#: src/components/forms/ApiForm.tsx:317 +#: src/contexts/ThemeContext.tsx:62 +#: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Submit" #: src/components/forms/AuthenticationForm.tsx:36 +#: src/functions/auth.tsx:28 msgid "Login failed" msgstr "Login failed" #: src/components/forms/AuthenticationForm.tsx:37 #: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:90 +#: src/functions/auth.tsx:103 msgid "Check your input and try again." msgstr "Check your input and try again." @@ -67,7 +68,7 @@ msgstr "Welcome back!" #~ msgstr "Login successfull" #: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:81 +#: src/functions/auth.tsx:94 msgid "Mail delivery successful" msgstr "Mail delivery successful" @@ -142,8 +143,9 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 -#: src/components/tables/part/PartCategoryTable.tsx:21 -#: src/components/tables/stock/StockLocationTable.tsx:21 +#: src/components/tables/part/PartCategoryTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Name" @@ -184,9 +186,9 @@ msgstr "Name: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "State: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:290 -#: src/components/nav/SearchDrawer.tsx:426 -#: src/components/tables/InvenTreeTable.tsx:374 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:373 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -194,25 +196,31 @@ msgstr "State: <0>worker ({0}), <1>plugins{1}" msgid "Error" msgstr "Error" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "Search" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "Loading" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "No results found" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Thumbnail" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Read More" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:366 +#: src/components/tables/InvenTreeTable.tsx:365 msgid "Unknown error" msgstr "Unknown error" @@ -244,80 +252,91 @@ msgstr "This panel is a placeholder." msgid "Scan QR code" msgstr "Scan QR code" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "Yes" -#: src/components/modals/QrCodeModal.tsx:68 +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "No" + +#: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" msgstr "Unknown response" -#: src/components/modals/QrCodeModal.tsx:98 +#: src/components/modals/QrCodeModal.tsx:101 #: src/pages/Index/Scan.tsx:592 msgid "Error while getting camera" msgstr "Error while getting camera" -#: src/components/modals/QrCodeModal.tsx:121 +#: src/components/modals/QrCodeModal.tsx:124 #: src/pages/Index/Scan.tsx:615 msgid "Error while scanning" msgstr "Error while scanning" -#: src/components/modals/QrCodeModal.tsx:135 +#: src/components/modals/QrCodeModal.tsx:138 #: src/pages/Index/Scan.tsx:629 msgid "Error while stopping" msgstr "Error while stopping" -#: src/components/modals/QrCodeModal.tsx:150 +#: src/components/modals/QrCodeModal.tsx:153 #: src/defaults/menuItems.tsx:22 #: src/pages/Index/Scan.tsx:698 msgid "Scanning" msgstr "Scanning" -#: src/components/modals/QrCodeModal.tsx:150 +#: src/components/modals/QrCodeModal.tsx:153 #: src/pages/Index/Scan.tsx:698 msgid "Not scanning" msgstr "Not scanning" -#: src/components/modals/QrCodeModal.tsx:155 +#: src/components/modals/QrCodeModal.tsx:158 #: src/pages/Index/Scan.tsx:704 msgid "Select Camera" msgstr "Select Camera" -#: src/components/modals/QrCodeModal.tsx:165 +#: src/components/modals/QrCodeModal.tsx:168 #: src/pages/Index/Scan.tsx:690 msgid "Start scanning" msgstr "Start scanning" -#: src/components/modals/QrCodeModal.tsx:172 +#: src/components/modals/QrCodeModal.tsx:175 #: src/pages/Index/Scan.tsx:684 msgid "Stop scanning" msgstr "Stop scanning" -#: src/components/modals/QrCodeModal.tsx:177 +#: src/components/modals/QrCodeModal.tsx:180 msgid "No scans yet!" msgstr "No scans yet!" -#: src/components/modals/QrCodeModal.tsx:197 +#: src/components/modals/QrCodeModal.tsx:200 msgid "Close modal" msgstr "Close modal" -#: src/components/nav/MainMenu.tsx:38 +#: src/components/nav/MainMenu.tsx:40 #: src/pages/Index/Profile/Profile.tsx:15 msgid "Profile" msgstr "Profile" -#: src/components/nav/MainMenu.tsx:42 +#: src/components/nav/MainMenu.tsx:44 msgid "Settings" msgstr "Settings" -#: src/components/nav/MainMenu.tsx:45 +#: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Account settings" -#: src/components/nav/MainMenu.tsx:53 -msgid "Logout" -msgstr "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "System Settings" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Plugins" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -327,6 +346,10 @@ msgstr "Logout" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Logout" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Open Navigation" @@ -352,10 +375,6 @@ msgstr "Navigation" msgid "Pages" msgstr "Pages" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Plugins" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Documentation" @@ -364,119 +383,242 @@ msgstr "Documentation" msgid "About" msgstr "About" -#: src/components/nav/NotificationDrawer.tsx:68 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/components/nav/NotificationDrawer.tsx:69 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Notifications" -#: src/components/nav/NotificationDrawer.tsx:85 +#: src/components/nav/NotificationDrawer.tsx:86 msgid "You have no unread notifications." msgstr "You have no unread notifications." -#: src/components/nav/NotificationDrawer.tsx:108 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "Mark as read" -#: src/components/nav/SearchDrawer.tsx:61 -#: src/components/tables/part/PartCategoryTable.tsx:39 -#: src/defaults/links.tsx:26 -#: src/pages/part/CategoryDetail.tsx:38 -#: src/pages/part/CategoryDetail.tsx:74 -#: src/pages/part/PartDetail.tsx:175 -msgid "Parts" -msgstr "Parts" - -#: src/components/nav/SearchDrawer.tsx:69 -msgid "Supplier Parts" -msgstr "Supplier Parts" - -#: src/components/nav/SearchDrawer.tsx:82 -msgid "Manufacturer Parts" -msgstr "Manufacturer Parts" - -#: src/components/nav/SearchDrawer.tsx:95 -msgid "Part Categories" -msgstr "Part Categories" - -#: src/components/nav/SearchDrawer.tsx:103 -#: src/components/tables/stock/StockLocationTable.tsx:37 -#: src/pages/stock/LocationDetail.tsx:26 -#: src/pages/stock/LocationDetail.tsx:67 -#: src/pages/stock/StockDetail.tsx:110 -msgid "Stock Items" -msgstr "Stock Items" - -#: src/components/nav/SearchDrawer.tsx:114 -msgid "Stock Locations" -msgstr "Stock Locations" - -#: src/components/nav/SearchDrawer.tsx:122 -#: src/pages/build/BuildDetail.tsx:143 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:76 -msgid "Build Orders" -msgstr "Build Orders" - -#: src/components/nav/SearchDrawer.tsx:132 -msgid "Companies" -msgstr "Companies" - -#: src/components/nav/SearchDrawer.tsx:141 -#: src/pages/part/PartDetail.tsx:103 -msgid "Purchase Orders" -msgstr "Purchase Orders" - -#: src/components/nav/SearchDrawer.tsx:151 -#: src/pages/part/PartDetail.tsx:110 -msgid "Sales Orders" -msgstr "Sales Orders" - -#: src/components/nav/SearchDrawer.tsx:161 -msgid "Return Orders" -msgstr "Return Orders" - -#: src/components/nav/SearchDrawer.tsx:196 +#: src/components/nav/SearchDrawer.tsx:187 msgid "results" msgstr "results" -#: src/components/nav/SearchDrawer.tsx:352 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Enter search text" -#: src/components/nav/SearchDrawer.tsx:379 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Search Options" -#: src/components/nav/SearchDrawer.tsx:382 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Regex search" -#: src/components/nav/SearchDrawer.tsx:392 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Whole word search" -#: src/components/nav/SearchDrawer.tsx:429 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "An error occurred during search query" -#: src/components/nav/SearchDrawer.tsx:440 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "No results" -#: src/components/nav/SearchDrawer.tsx:443 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "No results available for search query" -#: src/components/render/Instance.tsx:70 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "Unknown model: {model}" -#: src/components/render/Order.tsx:67 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 +msgid "Part" +msgstr "Part" + +#: src/components/render/ModelType.tsx:37 +#: src/components/tables/part/PartCategoryTable.tsx:40 +#: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 +#: src/pages/part/CategoryDetail.tsx:45 +#: src/pages/part/CategoryDetail.tsx:81 +#: src/pages/part/PartDetail.tsx:187 +msgid "Parts" +msgstr "Parts" + +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" +msgstr "Part Parameter Template" + +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" +msgstr "Part Parameter Templates" + +#: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "Supplier Part" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Supplier Parts" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "Manufacturer Part" + +#: src/components/render/ModelType.tsx:55 +msgid "Manufacturer Parts" +msgstr "Manufacturer Parts" + +#: src/components/render/ModelType.tsx:60 +#: src/pages/part/CategoryDetail.tsx:94 +msgid "Part Category" +msgstr "Part Category" + +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 +msgid "Part Categories" +msgstr "Part Categories" + +#: src/components/render/ModelType.tsx:66 +msgid "Stock Item" +msgstr "Stock Item" + +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/stock/LocationDetail.tsx:33 +#: src/pages/stock/LocationDetail.tsx:74 +#: src/pages/stock/StockDetail.tsx:114 +msgid "Stock Items" +msgstr "Stock Items" + +#: src/components/render/ModelType.tsx:72 +msgid "Stock Location" +msgstr "Stock Location" + +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 +msgid "Stock Locations" +msgstr "Stock Locations" + +#: src/components/render/ModelType.tsx:78 +#: src/defaults/links.tsx:28 +msgid "Build" +msgstr "Build" + +#: src/components/render/ModelType.tsx:79 +msgid "Builds" +msgstr "Builds" + +#: src/components/render/ModelType.tsx:84 +msgid "Company" +msgstr "Company" + +#: src/components/render/ModelType.tsx:85 +msgid "Companies" +msgstr "Companies" + +#: src/components/render/ModelType.tsx:90 +msgid "Purchase Order" +msgstr "Purchase Order" + +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/part/PartDetail.tsx:133 +msgid "Purchase Orders" +msgstr "Purchase Orders" + +#: src/components/render/ModelType.tsx:96 +msgid "Sales Order" +msgstr "Sales Order" + +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/part/PartDetail.tsx:140 +msgid "Sales Orders" +msgstr "Sales Orders" + +#: src/components/render/ModelType.tsx:102 +msgid "Sales Order Shipment" +msgstr "Sales Order Shipment" + +#: src/components/render/ModelType.tsx:103 +msgid "Sales Order Shipments" +msgstr "Sales Order Shipments" + +#: src/components/render/ModelType.tsx:108 +msgid "Return Order" +msgstr "Return Order" + +#: src/components/render/ModelType.tsx:109 +msgid "Return Orders" +msgstr "Return Orders" + +#: src/components/render/ModelType.tsx:114 +msgid "Address" +msgstr "Address" + +#: src/components/render/ModelType.tsx:115 +msgid "Addresses" +msgstr "Addresses" + +#: src/components/render/ModelType.tsx:120 +msgid "Contact" +msgstr "Contact" + +#: src/components/render/ModelType.tsx:121 +msgid "Contacts" +msgstr "Contacts" + +#: src/components/render/ModelType.tsx:126 +msgid "Owner" +msgstr "Owner" + +#: src/components/render/ModelType.tsx:127 +msgid "Owners" +msgstr "Owners" + +#: src/components/render/ModelType.tsx:132 +#: src/pages/Index/Profile/Profile.tsx:23 +msgid "User" +msgstr "User" + +#: src/components/render/ModelType.tsx:133 +msgid "Users" +msgstr "Users" + +#: src/components/render/Order.tsx:71 msgid "Shipment" msgstr "Shipment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" +msgstr "Setting updated" + +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" +msgstr "{0} updated successfully" + +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" +msgstr "Error editing setting" + +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" +msgstr "Edit Setting" + #: src/components/tables/AttachmentTable.tsx:29 msgid "Attachment" msgstr "Attachment" @@ -489,49 +631,54 @@ msgstr "Comment" msgid "Uploaded" msgstr "Uploaded" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 +#: src/components/tables/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:43 +#: src/components/tables/stock/StockItemTable.tsx:118 msgid "Edit" msgstr "Edit" -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:97 -#: src/functions/forms.tsx:177 +#: src/components/tables/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:60 +#: src/functions/forms.tsx:176 #: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 +#: src/pages/Notifications.tsx:70 msgid "Delete" msgstr "Delete" -#: src/components/tables/AttachmentTable.tsx:154 +#: src/components/tables/AttachmentTable.tsx:158 msgid "File uploaded" msgstr "File uploaded" -#: src/components/tables/AttachmentTable.tsx:155 +#: src/components/tables/AttachmentTable.tsx:159 msgid "File {0} uploaded successfully" msgstr "File {0} uploaded successfully" -#: src/components/tables/AttachmentTable.tsx:166 +#: src/components/tables/AttachmentTable.tsx:170 msgid "Upload Error" msgstr "Upload Error" -#: src/components/tables/AttachmentTable.tsx:167 +#: src/components/tables/AttachmentTable.tsx:171 msgid "File could not be uploaded" msgstr "File could not be uploaded" -#: src/components/tables/AttachmentTable.tsx:180 +#: src/components/tables/AttachmentTable.tsx:184 msgid "Add attachment" msgstr "Add attachment" -#: src/components/tables/AttachmentTable.tsx:199 +#: src/components/tables/AttachmentTable.tsx:203 msgid "Add external link" msgstr "Add external link" -#: src/components/tables/AttachmentTable.tsx:228 +#: src/components/tables/AttachmentTable.tsx:232 msgid "No attachments found" msgstr "No attachments found" -#: src/components/tables/AttachmentTable.tsx:242 +#: src/components/tables/AttachmentTable.tsx:246 msgid "Upload attachment" msgstr "Upload attachment" @@ -597,6 +744,7 @@ msgid "Select filter" msgstr "Select filter" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Value" @@ -608,43 +756,43 @@ msgstr "Select filter value" msgid "Add Filter" msgstr "Add Filter" -#: src/components/tables/InvenTreeTable.tsx:72 -#: src/components/tables/InvenTreeTable.tsx:328 -#: src/components/tables/InvenTreeTable.tsx:349 +#: src/components/tables/InvenTreeTable.tsx:71 +#: src/components/tables/InvenTreeTable.tsx:327 +#: src/components/tables/InvenTreeTable.tsx:348 msgid "No records found" msgstr "No records found" -#: src/components/tables/InvenTreeTable.tsx:353 +#: src/components/tables/InvenTreeTable.tsx:352 msgid "Bad request" msgstr "Bad request" -#: src/components/tables/InvenTreeTable.tsx:356 +#: src/components/tables/InvenTreeTable.tsx:355 msgid "Unauthorized" msgstr "Unauthorized" -#: src/components/tables/InvenTreeTable.tsx:359 +#: src/components/tables/InvenTreeTable.tsx:358 msgid "Forbidden" msgstr "Forbidden" -#: src/components/tables/InvenTreeTable.tsx:362 +#: src/components/tables/InvenTreeTable.tsx:361 msgid "Not found" msgstr "Not found" -#: src/components/tables/InvenTreeTable.tsx:423 -#: src/components/tables/InvenTreeTable.tsx:424 +#: src/components/tables/InvenTreeTable.tsx:420 +#: src/components/tables/InvenTreeTable.tsx:421 msgid "Barcode actions" msgstr "Barcode actions" -#: src/components/tables/InvenTreeTable.tsx:431 -#: src/components/tables/InvenTreeTable.tsx:432 +#: src/components/tables/InvenTreeTable.tsx:428 +#: src/components/tables/InvenTreeTable.tsx:429 msgid "Print actions" msgstr "Print actions" -#: src/components/tables/InvenTreeTable.tsx:449 +#: src/components/tables/InvenTreeTable.tsx:446 msgid "Refresh data" msgstr "Refresh data" -#: src/components/tables/InvenTreeTable.tsx:468 +#: src/components/tables/InvenTreeTable.tsx:465 msgid "Table filters" msgstr "Table filters" @@ -653,101 +801,139 @@ msgstr "Table filters" msgid "Actions" msgstr "Actions" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 msgid "Reference" msgstr "Reference" -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:31 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:189 -msgid "Part" -msgstr "Part" - -#: src/components/tables/build/BuildOrderTable.tsx:44 -#: src/components/tables/part/PartCategoryTable.tsx:27 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:49 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:26 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/settings/ProjectCodeTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "Description" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/settings/ProjectCodeTable.tsx:30 msgid "Project Code" msgstr "Project Code" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "Quantity" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "Completed" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "Status" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "Priority" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 msgid "Created" msgstr "Created" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 msgid "Target Date" msgstr "Target Date" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "Issued By" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "Responsible" -#: src/components/tables/notifications/NotificationsTable.tsx:21 +#: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "Age" -#: src/components/tables/notifications/NotificationsTable.tsx:26 +#: src/components/tables/notifications/NotificationsTable.tsx:27 #: src/components/tables/part/PartTable.tsx:58 msgid "Category" msgstr "Category" -#: src/components/tables/notifications/NotificationsTable.tsx:31 +#: src/components/tables/notifications/NotificationsTable.tsx:32 msgid "Notification" msgstr "Notification" -#: src/components/tables/notifications/NotificationsTable.tsx:35 +#: src/components/tables/notifications/NotificationsTable.tsx:36 msgid "Message" msgstr "Message" -#: src/components/tables/part/PartCategoryTable.tsx:33 -#: src/components/tables/stock/StockLocationTable.tsx:31 +#: src/components/tables/part/PartCategoryTable.tsx:34 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "Path" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "Parameter" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "Units" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "Edit Part Parameter" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "Part parameter updated" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "Delete Part Parameter" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "Part parameter deleted" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "Are you sure you want to remove this parameter?" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "Add Part Parameter" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "Part parameter added" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "Add parameter" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "Include Variants" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "IPN" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "Units" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:56 -#: src/pages/stock/LocationDetail.tsx:53 -#: src/pages/stock/StockDetail.tsx:97 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:80 +#: src/pages/stock/LocationDetail.tsx:60 +#: src/pages/stock/StockDetail.tsx:101 msgid "Stock" msgstr "Stock" @@ -760,6 +946,7 @@ msgid "Link" msgstr "Link" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "Active" @@ -824,7 +1011,7 @@ msgid "Filter by parts which have stock" msgstr "Filter by parts which have stock" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "Low Stock" @@ -862,73 +1049,187 @@ msgid "Not Virtual" msgstr "Not Virtual" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "Detail" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:61 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "Add Related Part" -#: src/components/tables/part/RelatedPartTable.tsx:69 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "Related Part" -#: src/components/tables/part/RelatedPartTable.tsx:72 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "Related part added" -#: src/components/tables/part/RelatedPartTable.tsx:82 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "Add related part" -#: src/components/tables/part/RelatedPartTable.tsx:104 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "Delete Related Part" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "Related part deleted" -#: src/components/tables/part/RelatedPartTable.tsx:107 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "Are you sure you want to remove this relationship?" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "Plugin is active" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "Plugin is inactive" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "Plugin is not installed" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "Plugin" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "Description not available" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "Version" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "Deactivate" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "Activate" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "Builtin" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "Sample" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "Installed" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "Definition" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "Symbol" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "Edit custom unit" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "Custom unit updated" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "Delete custom unit" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "Custom unit deleted" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "Are you sure you want to remove this custom unit?" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "Add custom unit" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "Custom unit created" + +#: src/components/tables/settings/ProjectCodeTable.tsx:49 +msgid "Edit project code" +msgstr "Edit project code" + +#: src/components/tables/settings/ProjectCodeTable.tsx:55 +msgid "Project code updated" +msgstr "Project code updated" + +#: src/components/tables/settings/ProjectCodeTable.tsx:67 +msgid "Delete project code" +msgstr "Delete project code" + +#: src/components/tables/settings/ProjectCodeTable.tsx:68 +msgid "Project code deleted" +msgstr "Project code deleted" + +#: src/components/tables/settings/ProjectCodeTable.tsx:71 +msgid "Are you sure you want to remove this project code?" +msgstr "Are you sure you want to remove this project code?" + +#: src/components/tables/settings/ProjectCodeTable.tsx:83 +#: src/components/tables/settings/ProjectCodeTable.tsx:97 +msgid "Add project code" +msgstr "Add project code" + +#: src/components/tables/settings/ProjectCodeTable.tsx:89 +msgid "Added project code" +msgstr "Added project code" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "Batch" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "Location" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "Test Filter" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "This is a test filter" -#: src/components/tables/stock/StockLocationTable.tsx:43 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "Structural" -#: src/components/tables/stock/StockLocationTable.tsx:51 +#: src/components/tables/stock/StockLocationTable.tsx:52 msgid "External" msgstr "External" +#: src/components/tables/stock/StockLocationTable.tsx:59 +msgid "Location Type" +msgstr "Location Type" + #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Profile/UserPanel.tsx:137 +#: src/pages/Index/Profile/UserPanel.tsx:139 msgid "Display Settings" msgstr "Display Settings" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Profile/UserPanel.tsx:141 +#: src/pages/Index/Profile/UserPanel.tsx:143 msgid "Color Mode" msgstr "Color Mode" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Profile/UserPanel.tsx:147 +#: src/pages/Index/Profile/UserPanel.tsx:149 msgid "Language" msgstr "Language" @@ -984,67 +1285,67 @@ msgstr "Appearance" msgid "Show Boxes" msgstr "Show Boxes" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "Subscribed Parts" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "Subscribed Categories" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "Latest Parts" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "BOM Waiting Validation" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "Recently Updated" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "Depleted Stock" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "Required for Build Orders" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "Expired Stock" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "Stale Stock" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "Build Orders In Progress" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "Overdue Build Orders" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "Outstanding Purchase Orders" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "Overdue Purchase Orders" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "Outstanding Sales Orders" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "Overdue Sales Orders" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "Current News" @@ -1075,16 +1376,13 @@ msgstr "Home" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "Dashboard" -#: src/defaults/links.tsx:28 -msgid "Build" -msgstr "Build" - #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:32 -#: src/pages/Index/Playground.tsx:87 +#: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "Playground" @@ -1224,142 +1522,146 @@ msgstr "View for interactive scanning and multiple actions." #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" +#: src/functions/auth.tsx:29 +msgid "Error fetching token from server." +msgstr "Error fetching token from server." + #: src/functions/auth.tsx:36 #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:41 +#: src/functions/auth.tsx:49 msgid "Logout successful" msgstr "Logout successful" -#: src/functions/auth.tsx:42 +#: src/functions/auth.tsx:50 msgid "See you soon." msgstr "See you soon." -#: src/functions/auth.tsx:82 +#: src/functions/auth.tsx:95 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Check your inbox for a reset link. This only works if you have an account. Check in spam too." -#: src/functions/auth.tsx:89 +#: src/functions/auth.tsx:102 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "Reset failed" -#: src/functions/auth.tsx:105 +#: src/functions/auth.tsx:118 msgid "Already logged in" msgstr "Already logged in" -#: src/functions/auth.tsx:106 +#: src/functions/auth.tsx:119 msgid "Found an existing login - using it to log you in." msgstr "Found an existing login - using it to log you in." +#: src/functions/forms.tsx:39 #: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:57 -#: src/functions/forms.tsx:137 +#: src/functions/forms.tsx:136 msgid "Form Error" msgstr "Form Error" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:40 msgid "Form method not provided" msgstr "Form method not provided" -#: src/functions/forms.tsx:58 +#: src/functions/forms.tsx:49 msgid "Response did not contain action data" msgstr "Response did not contain action data" -#: src/functions/forms.tsx:96 +#: src/functions/forms.tsx:91 msgid "Invalid Form" msgstr "Invalid Form" -#: src/functions/forms.tsx:97 +#: src/functions/forms.tsx:92 msgid "method parameter not supplied" msgstr "method parameter not supplied" -#: src/functions/forms/AttachmentForms.tsx:57 +#: src/functions/forms/AttachmentForms.tsx:58 msgid "Add File" msgstr "Add File" -#: src/functions/forms/AttachmentForms.tsx:57 +#: src/functions/forms/AttachmentForms.tsx:58 msgid "Add Link" msgstr "Add Link" -#: src/functions/forms/AttachmentForms.tsx:58 +#: src/functions/forms/AttachmentForms.tsx:59 msgid "File added" msgstr "File added" -#: src/functions/forms/AttachmentForms.tsx:58 +#: src/functions/forms/AttachmentForms.tsx:59 msgid "Link added" msgstr "Link added" -#: src/functions/forms/AttachmentForms.tsx:100 +#: src/functions/forms/AttachmentForms.tsx:101 msgid "Edit File" msgstr "Edit File" -#: src/functions/forms/AttachmentForms.tsx:100 +#: src/functions/forms/AttachmentForms.tsx:101 msgid "Edit Link" msgstr "Edit Link" -#: src/functions/forms/AttachmentForms.tsx:101 +#: src/functions/forms/AttachmentForms.tsx:102 msgid "File updated" msgstr "File updated" -#: src/functions/forms/AttachmentForms.tsx:101 +#: src/functions/forms/AttachmentForms.tsx:102 msgid "Link updated" msgstr "Link updated" -#: src/functions/forms/AttachmentForms.tsx:127 +#: src/functions/forms/AttachmentForms.tsx:128 msgid "Delete Attachment" msgstr "Delete Attachment" -#: src/functions/forms/AttachmentForms.tsx:128 +#: src/functions/forms/AttachmentForms.tsx:129 msgid "Attachment deleted" msgstr "Attachment deleted" -#: src/functions/forms/AttachmentForms.tsx:132 +#: src/functions/forms/AttachmentForms.tsx:133 msgid "Are you sure you want to delete this attachment?" msgstr "Are you sure you want to delete this attachment?" -#: src/functions/forms/PartForms.tsx:76 +#: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "Create Part" -#: src/functions/forms/PartForms.tsx:78 +#: src/functions/forms/PartForms.tsx:79 msgid "Part created" msgstr "Part created" -#: src/functions/forms/PartForms.tsx:96 +#: src/functions/forms/PartForms.tsx:97 msgid "Edit Part" msgstr "Edit Part" -#: src/functions/forms/PartForms.tsx:99 +#: src/functions/forms/PartForms.tsx:100 msgid "Part updated" msgstr "Part updated" -#: src/functions/forms/PartForms.tsx:111 +#: src/functions/forms/PartForms.tsx:112 msgid "Parent part category" msgstr "Parent part category" -#: src/functions/forms/StockForms.tsx:44 +#: src/functions/forms/StockForms.tsx:45 msgid "Add given quantity as packs instead of individual items" msgstr "Add given quantity as packs instead of individual items" -#: src/functions/forms/StockForms.tsx:53 +#: src/functions/forms/StockForms.tsx:54 msgid "Enter initial quantity for this stock item" msgstr "Enter initial quantity for this stock item" -#: src/functions/forms/StockForms.tsx:58 +#: src/functions/forms/StockForms.tsx:59 msgid "Serial Numbers" msgstr "Serial Numbers" -#: src/functions/forms/StockForms.tsx:59 +#: src/functions/forms/StockForms.tsx:60 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Enter serial numbers for new stock (or leave blank)" -#: src/functions/forms/StockForms.tsx:104 +#: src/functions/forms/StockForms.tsx:105 msgid "Create Stock Item" msgstr "Create Stock Item" -#: src/functions/forms/StockForms.tsx:118 +#: src/functions/forms/StockForms.tsx:119 msgid "Edit Stock Item" msgstr "Edit Stock Item" @@ -1448,18 +1750,13 @@ msgstr "This page is a replacement for the old start page with the same informat msgid "Welcome to your Dashboard{0}" msgstr "Welcome to your Dashboard{0}" -#: src/pages/Index/Playground.tsx:92 +#: src/pages/Index/Playground.tsx:93 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "This page is a showcase for the possibilities of Platform UI." -#: src/pages/Index/Profile/Profile.tsx:23 -msgid "User" -msgstr "User" - -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "Plugin Settings" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1470,12 +1767,6 @@ msgstr "User" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1591,23 +1882,23 @@ msgstr "User" #~ msgid "Method: {0}" #~ msgstr "Method: {0}" -#: src/pages/Index/Profile/UserPanel.tsx:83 +#: src/pages/Index/Profile/UserPanel.tsx:85 msgid "Userinfo" msgstr "Userinfo" -#: src/pages/Index/Profile/UserPanel.tsx:114 +#: src/pages/Index/Profile/UserPanel.tsx:116 msgid "First name: {0}" msgstr "First name: {0}" -#: src/pages/Index/Profile/UserPanel.tsx:117 +#: src/pages/Index/Profile/UserPanel.tsx:119 msgid "Last name: {0}" msgstr "Last name: {0}" -#: src/pages/Index/Profile/UserPanel.tsx:120 +#: src/pages/Index/Profile/UserPanel.tsx:122 msgid "Username: {0}" msgstr "Username: {0}" -#: src/pages/Index/Profile/UserPanel.tsx:152 +#: src/pages/Index/Profile/UserPanel.tsx:154 msgid "Use pseudo language" msgstr "Use pseudo language" @@ -1728,7 +2019,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "History" @@ -1760,6 +2051,67 @@ msgstr "Enter item serial or data" msgid "Add dummy item" msgstr "Add dummy item" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "Server" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "Login" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "Barcodes" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "Project Codes" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "Physical Units" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:120 +msgid "Pricing" +msgstr "Pricing" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "Labels" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "Reporting" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "Part Parameters" + +#: src/pages/Index/SystemSettings.tsx:214 +msgid "Stocktake" +msgstr "Stocktake" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:145 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:106 +msgid "Build Orders" +msgstr "Build Orders" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "Account" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "Display Options" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "User Settings" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1776,47 +2128,47 @@ msgstr "Sorry, this page is not known or was moved." msgid "Go to the start page" msgstr "Go to the start page" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "Mark as unread" -#: src/pages/build/BuildDetail.tsx:49 +#: src/pages/build/BuildDetail.tsx:51 msgid "Build Details" msgstr "Build Details" -#: src/pages/build/BuildDetail.tsx:55 +#: src/pages/build/BuildDetail.tsx:57 msgid "Allocate Stock" msgstr "Allocate Stock" -#: src/pages/build/BuildDetail.tsx:62 +#: src/pages/build/BuildDetail.tsx:64 msgid "Incomplete Outputs" msgstr "Incomplete Outputs" -#: src/pages/build/BuildDetail.tsx:69 +#: src/pages/build/BuildDetail.tsx:71 msgid "Completed Outputs" msgstr "Completed Outputs" -#: src/pages/build/BuildDetail.tsx:82 +#: src/pages/build/BuildDetail.tsx:84 msgid "Consumed Stock" msgstr "Consumed Stock" -#: src/pages/build/BuildDetail.tsx:94 +#: src/pages/build/BuildDetail.tsx:96 msgid "Child Build Orders" msgstr "Child Build Orders" -#: src/pages/build/BuildDetail.tsx:106 -#: src/pages/part/PartDetail.tsx:130 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/build/BuildDetail.tsx:108 +#: src/pages/part/PartDetail.tsx:160 +#: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "Attachments" -#: src/pages/build/BuildDetail.tsx:118 -#: src/pages/part/PartDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/build/BuildDetail.tsx:120 +#: src/pages/part/PartDetail.tsx:172 +#: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "Notes" -#: src/pages/build/BuildDetail.tsx:135 +#: src/pages/build/BuildDetail.tsx:137 msgid "Build Order" msgstr "Build Order" @@ -1825,47 +2177,40 @@ msgid "New Build Order" msgstr "New Build Order" #: src/pages/part/CategoryDetail.tsx:52 -msgid "Subcategories" -msgstr "Subcategories" +#~ msgid "Subcategories" +#~ msgstr "Subcategories" -#: src/pages/part/CategoryDetail.tsx:64 +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:74 msgid "Parameters" msgstr "Parameters" -#: src/pages/part/CategoryDetail.tsx:87 -msgid "Part Category" -msgstr "Part Category" - -#: src/pages/part/PartDetail.tsx:50 -#: src/pages/stock/StockDetail.tsx:40 +#: src/pages/part/PartDetail.tsx:68 +#: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "Details" -#: src/pages/part/PartDetail.tsx:62 +#: src/pages/part/PartDetail.tsx:92 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:69 +#: src/pages/part/PartDetail.tsx:99 msgid "Bill of Materials" msgstr "Bill of Materials" -#: src/pages/part/PartDetail.tsx:83 +#: src/pages/part/PartDetail.tsx:113 msgid "Used In" msgstr "Used In" -#: src/pages/part/PartDetail.tsx:90 -msgid "Pricing" -msgstr "Pricing" - -#: src/pages/part/PartDetail.tsx:96 +#: src/pages/part/PartDetail.tsx:126 msgid "Suppliers" msgstr "Suppliers" -#: src/pages/part/PartDetail.tsx:117 +#: src/pages/part/PartDetail.tsx:147 msgid "Test Templates" msgstr "Test Templates" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:154 msgid "Related Parts" msgstr "Related Parts" @@ -1874,22 +2219,22 @@ msgstr "Related Parts" #~ msgstr "Categories" #: src/pages/stock/LocationDetail.tsx:38 -msgid "Sublocations" -msgstr "Sublocations" +#~ msgid "Sublocations" +#~ msgstr "Sublocations" -#: src/pages/stock/StockDetail.tsx:46 +#: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "Stock Tracking" -#: src/pages/stock/StockDetail.tsx:52 +#: src/pages/stock/StockDetail.tsx:56 msgid "Allocations" msgstr "Allocations" -#: src/pages/stock/StockDetail.tsx:58 +#: src/pages/stock/StockDetail.tsx:62 msgid "Installed Items" msgstr "Installed Items" -#: src/pages/stock/StockDetail.tsx:64 +#: src/pages/stock/StockDetail.tsx:68 msgid "Child Items" msgstr "Child Items" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 6c094d9b80..18aadb8fcb 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Error al iniciar sesión" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Inicio de sesión exitoso" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "¡Bienvenido de vuelta!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Inicio de sesión exitoso" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "¡Bienvenido de vuelta!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "Envío de correo exitoso" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Revisa tu bandeja de entrada para el enlace de inicio de sesión. Si tienes una cuenta, recibirás un enlace de inicio de sesión. Revisa también el correo no deseado." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Error de entrada" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Error de entrada" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Bienvenido, inicia sesión a continuación" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Nombre de usuario" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Contraseña" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Tu contraseña" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Restablecer contraseña" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Correo electrónico" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Te enviaremos un enlace para iniciar sesión - si estás registrado" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Envíame un correo electrónico" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Usaré nombre de usuario y contraseña" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Iniciar sesión" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Nombre" @@ -190,9 +193,9 @@ msgstr "Nombre: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Órdenes de compra" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Ordenes de devolución" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 186308037f..cab8a2cff5 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index cded573b16..0ae497e33d 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 959372df5d..61160b3098 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:26\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Titre" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,115 +31,117 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Annuler" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Envoyer" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Login invalide" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Vérifiez votre saisie et réessayez." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Connexion réussie" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Bon retour parmi nous !" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Connexion réussie" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Bon retour parmi nous !" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "Envoi du mail réussi" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Vérifiez votre boîte de réception pour le lien de connexion. Si vous avez un compte, vous recevrez un lien de connexion. Vérifiez également dans le courrier indésirable." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Erreur d'entrée" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Erreur d'entrée" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Bienvenue, connectez-vous ci-dessous" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Nom d'utilisateur" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Mot de passe" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Mot de passe" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Réinitialiser le mot de passe" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Email" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Nous vous enverrons un lien pour vous connecter - si vous êtes déjà inscrit" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Envoyez-moi un e-mail" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Je vais utiliser le nom d'utilisateur et le mot de passe" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Se connecter" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Envoyer un e-mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Serveur" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Nom" @@ -190,9 +193,9 @@ msgstr "Nom : {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "Erreur" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Miniature" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "En Savoir Plus" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Erreur inconnue" @@ -250,10 +259,13 @@ msgstr "" msgid "Scan QR code" msgstr "Scanner le QR code" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Miniature" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Paramètres" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Paramètres du compte" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Se déconnecter" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Extensions" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Se déconnecter" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Se déconnecter" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Ouvrir la navigation" @@ -358,10 +382,6 @@ msgstr "Navigation" msgid "Pages" msgstr "Pages" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Extensions" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Documentation" @@ -371,8 +391,10 @@ msgid "About" msgstr "À propos" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Notifications" @@ -380,8 +402,8 @@ msgstr "Notifications" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "résultats" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Entrez un texte à rechercher" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Options de recherche" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Recherche par regex" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Recherche par mot entier" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "Une erreur s'est produite lors de la recherche" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Aucun résultat" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "Aucun résultat disponible pour la requête" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Composants" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" -msgstr "Pièces du fournisseur" - -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Pièces du fournisseur" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Catégories de composants" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "Articles en stock" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "Emplacements de stock" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Sociétés" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Ordres d'achat" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Ordres de vente" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Retours" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Utilisateur" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Site web" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Site web" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "Premiers Pas" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "Démarrer avec InvenTree" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "API" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "Documentation de l'API d'InvenTree" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "Manuel du développeur" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "Manuel du développeur InvenTree" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "FAQ" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "Foire aux questions" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "À propos d'InvenTree" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "Licences" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "Déconnexion résussie" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "À bientôt." -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Vérifiez votre boîte de réception pour un lien de réinitialisation. Cela ne fonctionne que si vous avez un compte. Vérifiez également dans le spam." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "Échec de la réinitialisation" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Déjà connecté" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Vérifier si vous êtes déjà connecté" @@ -1491,6 +1793,11 @@ msgstr "Aucune sélection" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Envoyer un e-mail" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Jeton invalide" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Ordres de fabrication" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "Désolé, cette page est inconnue ou a été déplacée." msgid "Go to the start page" msgstr "Aller à la page d'accueil" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" -msgstr "Ordres de fabrication" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" +msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index 480195d879..75288e1fdf 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index c93be74371..2d080963c3 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "शीर्षक" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "लॉगिन असफल" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "लॉगिन सफल" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "आपका पुनः स्वागत है" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "लॉगिन सफल" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "आपका पुनः स्वागत है" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "इनपुट त्रुटि" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "इनपुट त्रुटि" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "उपयोगकर्ता नाम" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "पासवर्ड" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "आपका पासवर्ड" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "पासवर्ड रीसेट करें" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "ई-मेल" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "नाम" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "क्यूआर कोड स्कैन करें" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index b95d6e82bf..518cfe6748 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Cím" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Siker" @@ -31,115 +31,117 @@ msgstr "Siker" msgid "Form Errors Exist" msgstr "Form hibák vannak" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Mégsem" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Küldés" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Belépés sikertelen" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Ellenőrizd amit beírtál és próbáld újra." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Sikeres bejelentkezés" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Üdv újra!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Sikeres bejelentkezés" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Üdv újra!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "Levél kézbesítése sikeres" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "A bejelentkezési linket keresd a bejövő email fiókodban. Ellenőrizd a spameket is." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Beviteli hiba" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Beviteli hiba" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Üdvözlet, bejelentkezés lent" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Felhasználónév" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Jelszó" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Jelszó" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Jelszó visszaállítása" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Email" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Küldünk bejelentkezési linket - ha regisztrálva vagy" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Email küldés" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Felhasználónevet és jelszót fogok használni" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Bejelentkezés" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Email küldése" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Kiszolgáló" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Név" @@ -190,9 +193,9 @@ msgstr "Név: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "Státusz: <0>worker ({0}), <1>plugins{1}" msgid "Error" msgstr "Hiba" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "Keresés" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "Betöltés" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "Nincs találat" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Bélyegkép" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Tudj meg többet" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Ismeretlen hiba" @@ -250,10 +259,13 @@ msgstr "Ez egy helykitöltő panel." msgid "Scan QR code" msgstr "QR kód beolvasása" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Bélyegkép" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Beállítások" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Fiókbeállítások" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Kijelentkezés" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Pluginok" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Kijelentkezés" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Kijelentkezés" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Navigáció megnyitása" @@ -358,10 +382,6 @@ msgstr "Navigáció" msgid "Pages" msgstr "Oldalak" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Pluginok" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Dokumentáció" @@ -371,8 +391,10 @@ msgid "About" msgstr "Névjegy" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Értesítések" @@ -380,8 +402,8 @@ msgstr "Értesítések" msgid "You have no unread notifications." msgstr "Nincs olvasatlan értesítésed." -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "Megjelölés olvasottként" @@ -389,182 +411,207 @@ msgstr "Megjelölés olvasottként" msgid "results" msgstr "eredmények" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Írd be a keresett szöveget" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Keresési opciók" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Regex keresés" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Teljes szó keresés" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "Hiba történt a keresés közben" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Nincs találat" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "Nincs találat a keresésre" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "Ismeretlen model: {model}" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "Alkatrész" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Alkatrészek" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" -msgstr "Beszállítói alkatrészek" - -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Beszállítói alkatrészek" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "Alkatrész kategória" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "Készlet tételek" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "Készlethelyek" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "Gyártás" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Cégek" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Beszerzési rendelések" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Vevői rendelések" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Visszavételek" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Felhasználó" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,63 +619,23 @@ msgstr "" msgid "Shipment" msgstr "Szállítmány" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" -msgstr "Melléklet" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" +msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" -msgstr "Megjegyzés" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" +msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" -msgstr "Feltöltve" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" +msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "Szerkesztés" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "Törlés" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "Fájl feltöltve" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "A {0} fájl sikeresen feltöltve" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "Feltöltési Hiba" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "A fájlt nem sikerült feltölteni" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "Melléklet hozzáadása" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "Külső hivatkozás hozzáadása" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "Nem találhatók mellékletek" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" -msgstr "Melléklet feltöltése" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" +msgstr "" #: src/components/tables/ColumnSelect.tsx:17 #: src/components/tables/ColumnSelect.tsx:24 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "Szűrő kiválasztása" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Érték" @@ -709,37 +717,41 @@ msgstr "Szűrő hozzáadása" msgid "No records found" msgstr "Nincs találat" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "Hibás kérés" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "Jogosulatlan" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "Tiltott" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "Nem található" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "Vonalkód műveletek" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "Nyomtatási műveletek" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "Táblaszűrők" @@ -748,57 +760,152 @@ msgstr "Táblaszűrők" msgid "Actions" msgstr "Műveletek" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "Azonosító" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "Leírás" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "Projektszám" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "Mennyiség" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "Kész" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "Állapot" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "Prioritás" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "Létrehozva" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "Cél dátum" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "Kiállította" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "Felelős" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "Melléklet" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "Megjegyzés" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "Feltöltve" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "Szerkesztés" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "Törlés" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "Fájl feltöltve" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "A {0} fájl sikeresen feltöltve" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "Feltöltési Hiba" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "A fájlt nem sikerült feltölteni" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "Melléklet hozzáadása" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "Külső hivatkozás hozzáadása" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "Nem találhatók mellékletek" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "Melléklet feltöltése" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Weboldal" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "Életkor" @@ -817,22 +924,64 @@ msgid "Message" msgstr "Üzenet" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "Elérési út" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "Mértékegységek" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "IPN" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "Mértékegységek" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "Link" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "Aktív" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "Szűrés meglévő készlet szerint" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "Alacsony készlet" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "Nem virtuális" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "Részletek" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "Kapcsolódó alkatrész hozzáadva" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "Kapcsolódó alkatrész törlése" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "Kapcsolódó alkatrész törölve" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "Biztosan törölni szeretnéd ezt a kapcsolatot?" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "Batch" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "Hely" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "Teszt szűrő" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "Ez egy teszt szűrő" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "Szerkezeti" @@ -1004,7 +1288,7 @@ msgstr "Szerkezeti" msgid "External" msgstr "Külső" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "Megjelenítés" msgid "Show Boxes" msgstr "Dobozok megjelenítése" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "Értesítésre beállított alkatrészek" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "Értesítésre beállított kategóriák" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "Legújabb alkatrészek" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "Jóváhagyásra váró alkatrészjegyzék" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "Nemrég frissítve" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "Kimerült készlet" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "Gyártáshoz szükséges" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "Lejárt készlet" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "Állott készlet" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "Folyamatban lévő gyártások" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "Késésben lévő gyártások" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "Kintlévő beszerzési rendelések" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "Késésben lévő beszerzések" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "Függő vevői rendelések" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "Késésben lévő vevői rendelések" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "Jelenlegi hírek" @@ -1147,10 +1431,6 @@ msgstr "Jelenlegi hírek" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Weboldal" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "GitHub" @@ -1166,68 +1446,82 @@ msgstr "Főoldal" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "Irányítópult" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "Játszótér" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "Első lépések" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "Első lépések az InvenTree-vel" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "API" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "InvenTree API dokumentáció" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "Fejlesztői dokumentáció" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "InvenTree fejlesztői dokumentáció" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "GYIK" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "Gyakran ismételt kérdések" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "Példány" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "InvenTree példány névjegye" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "Az inventree.org-ról" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "Licencek" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "Az InvenTree által használt csomagok licencei" @@ -1311,7 +1605,7 @@ msgstr "Nézet interaktív szkenneléshez és más műveletekhez." #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "Sikeres kijelentkezés" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "Hamarosan találkozunk." -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Nézd meg a beérkező levelek mappájában a visszaállítási linket. Ez csak akkor működik, ha van fiókod. Ellenőrizd a spameket is." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "Visszaállítás sikertelen" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Már bejelentkeztél" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "Van ilyen login - azt használom a belépéshez." -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "Form hiba" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "Form metódus nincs megadva" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "A válaszban nincs művelet adat" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "Érvénytelen űrlap" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "metódus paraméter nem támogatott" @@ -1410,6 +1704,14 @@ msgstr "Melléklet törölve" msgid "Are you sure you want to delete this attachment?" msgstr "Biztos törölni akarod ezt a mellékletet?" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "Alkatrész létrehozása" @@ -1478,7 +1780,7 @@ msgstr "Érvénytelen visszatérési kód" msgid "Server returned status {returnCode}" msgstr "Szerver válaszkódja {returnCode}" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Ellenőrzöm hogy be vagy-e már jelentkezve" @@ -1491,6 +1793,11 @@ msgstr "Nincs kijelölés" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Email küldése" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Érvénytelen token" @@ -1543,10 +1850,9 @@ msgstr "Irányítópult: {0}" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Ez az oldal a Platform UI lehetőségeit mutatja be." -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "Ez az oldal a Platform UI lehetőségeit mutatja be." #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "Az előzmények a böngésző helyi tárhelyén tárolódnak. Így nem lesz megosztva más felhasználókkal vagy más eszközökkel, de az újratöltések során megmarad. Kijelölhetsz elemeket az előzményekből, hogy műveleteket hajts végre rajtuk. Elemek hozzáadásához szkennelje be/írja be azokat a beviteli területen." #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "Előzmények" @@ -1847,6 +2147,68 @@ msgstr "Add meg a tétel szériaszámát vagy adatát" msgid "Add dummy item" msgstr "Ál-tétel hozzáadása" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "Árazás" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Gyártási utasítások" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,108 +2225,247 @@ msgstr "Elnézést, ez az oldal ismeretlen vagy el lett mozgatva." msgid "Go to the start page" msgstr "Ugrás a kezdőlapra" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "Megjelölés olvasatlanként" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "Gyártás részletei" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "Készlet foglalása" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "Befejezetlen kimenetek" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "Befejezett kimenetek" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "Felhasznált készlet" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "Alárendelt gyártások" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "Mellékletek" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "Megjegyzések" -#: src/pages/build/BuildDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 msgid "Build Order" msgstr "Gyártási utasítás" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" -msgstr "Gyártási utasítások" - #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "Új gyártási utasítás" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "Alkategóriák" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "Paraméterek" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "Részletek" -#: src/pages/part/PartDetail.tsx:69 +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" +msgstr "Paraméterek" + +#: src/pages/part/PartDetail.tsx:97 msgid "Variants" msgstr "Változatok" -#: src/pages/part/PartDetail.tsx:76 +#: src/pages/part/PartDetail.tsx:104 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: src/pages/part/PartDetail.tsx:90 +#: src/pages/part/PartDetail.tsx:116 msgid "Used In" msgstr "Felhasználva ebben" -#: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" -msgstr "Árazás" - -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "Beszállítók" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "Teszt sablonok" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" -msgstr "Alhelyek" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" +msgstr "" + +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 65aba39c0a..8474d0ea57 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index d7e171608f..b268901d83 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 04cfa48195..c0aa2b6941 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "タイトル" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "キャンセル" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "ユーザー名" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "パスワード" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "パスワードを再設定" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "メールアドレス" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "ログイン" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "名前" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "エラー" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "読み込み中" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "サムネイル" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "続きを読む" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,10 +259,13 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "サムネイル" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "設定" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "ログアウト" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "ログアウト" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "ログアウト" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "既読にする" @@ -389,182 +411,207 @@ msgstr "既読にする" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "パーツ" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "パーツ" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "在庫商品" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "在庫商品" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" -msgstr "" +msgstr "在庫場所" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" -msgstr "" +msgstr "在庫場所" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "ユーザー" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "編集" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "削除" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -653,55 +660,56 @@ msgstr "" #: src/components/tables/FilterBadge.tsx:44 msgid "Remove filter" -msgstr "" +msgstr "フィルタを削除" #: src/components/tables/FilterGroup.tsx:29 msgid "Add table filter" -msgstr "" +msgstr "表フィルタを追加" #: src/components/tables/FilterGroup.tsx:44 msgid "Clear all filters" -msgstr "" +msgstr "すべてのフィルタを解除" #: src/components/tables/FilterGroup.tsx:51 msgid "Add filter" -msgstr "" +msgstr "フィルタを追加" #: src/components/tables/FilterSelectModal.tsx:56 msgid "True" -msgstr "" +msgstr "はい" #: src/components/tables/FilterSelectModal.tsx:57 msgid "False" -msgstr "" +msgstr "いいえ" #: src/components/tables/FilterSelectModal.tsx:143 msgid "Add Table Filter" -msgstr "" +msgstr "表フィルタを追加" #: src/components/tables/FilterSelectModal.tsx:145 msgid "Select from the available filters" -msgstr "" +msgstr "有効なフィルタから選択" #: src/components/tables/FilterSelectModal.tsx:149 msgid "Filter" -msgstr "" +msgstr "フィルタ" #: src/components/tables/FilterSelectModal.tsx:150 msgid "Select filter" -msgstr "" +msgstr "フィルタを選択" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" -msgstr "" +msgstr "値" #: src/components/tables/FilterSelectModal.tsx:160 msgid "Select filter value" -msgstr "" +msgstr "フィルタの値を選択" #: src/components/tables/FilterSelectModal.tsx:172 msgid "Add Filter" -msgstr "" +msgstr "フィルタを追加" #: src/components/tables/InvenTreeTable.tsx:71 #: src/components/tables/InvenTreeTable.tsx:327 @@ -709,96 +717,195 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" -msgstr "" +msgstr "表フィルタ" #: src/components/tables/RowActions.tsx:33 #: src/components/tables/RowActions.tsx:40 msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "説明" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "編集" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "削除" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,12 +996,13 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" #: src/components/tables/part/PartTable.tsx:99 msgid "Filter by part active status" -msgstr "" +msgstr "有効なパーツでフィルタ" #: src/components/tables/part/PartTable.tsx:104 msgid "Assembly" @@ -864,11 +1014,11 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:110 msgid "Include Subcategories" -msgstr "" +msgstr "サブカテゴリを含む" #: src/components/tables/part/PartTable.tsx:111 msgid "Include parts in subcategories" -msgstr "" +msgstr "サブカテゴリのパーツを含む" #: src/components/tables/part/PartTable.tsx:116 msgid "Component" @@ -876,7 +1026,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:117 msgid "Filter by component attribute" -msgstr "" +msgstr "コンポーネント属性でフィルタ" #: src/components/tables/part/PartTable.tsx:122 msgid "Trackable" @@ -884,7 +1034,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:123 msgid "Filter by trackable attribute" -msgstr "" +msgstr "追跡可能属性でフィルタ" #: src/components/tables/part/PartTable.tsx:128 msgid "Has Units" @@ -892,7 +1042,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:129 msgid "Filter by parts which have units" -msgstr "" +msgstr "単位のある部品でフィルタ" #: src/components/tables/part/PartTable.tsx:134 msgid "Has IPN" @@ -908,10 +1058,10 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:141 msgid "Filter by parts which have stock" -msgstr "" +msgstr "在庫がある部品でフィルタ" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -925,7 +1075,7 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:153 msgid "Filter by parts which are purchaseable" -msgstr "" +msgstr "購入可能な部品でフィルタ" #: src/components/tables/part/PartTable.tsx:158 msgid "Salable" @@ -933,70 +1083,204 @@ msgstr "" #: src/components/tables/part/PartTable.tsx:159 msgid "Filter by parts which are salable" -msgstr "" +msgstr "販売可能な部品でフィルタ" #: src/components/tables/part/PartTable.tsx:164 #: src/components/tables/part/PartTable.tsx:168 msgid "Virtual" -msgstr "" +msgstr "仮想部品" #: src/components/tables/part/PartTable.tsx:165 msgid "Filter by parts which are virtual" -msgstr "" +msgstr "仮想部品でフィルタ" #: src/components/tables/part/PartTable.tsx:169 msgid "Not Virtual" -msgstr "" +msgstr "仮想部品ではない" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "詳細" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" -msgstr "" +msgstr "場所" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" -msgstr "" +msgstr "テストフィルタ" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" -msgstr "" +msgstr "これはテストフィルタです" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,9 +1288,9 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" -msgstr "" +msgstr "場所タイプ" #: src/components/widgets/DisplayWidget.tsx:11 #: src/pages/Index/Profile/UserPanel.tsx:139 @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "よくある質問" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "ライセンス" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "価格" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "未読にする" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "添付ファイル" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "メモ" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "詳細" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" -msgstr "価格" +msgid "Variants" +msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 4b9a955379..01284fee89 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index df321ee4ae..1aa70abe4d 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index fce53b568e..5d06f8c4b9 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index f6bbe1e2ec..12ed2062c4 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index 883e183ee6..2e975c79a6 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -53,38 +53,39 @@ msgstr "" #~ msgid "Don't have an account? Register" #~ msgstr "" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:189 +#: src/components/forms/ApiForm.tsx:195 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" -#: src/components/forms/ApiForm.tsx:262 +#: src/components/forms/ApiForm.tsx:269 msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:301 +#: src/components/forms/ApiForm.tsx:308 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:310 -#: src/contexts/ThemeContext.tsx:65 -#: src/pages/Index/Profile/UserPanel.tsx:107 +#: src/components/forms/ApiForm.tsx:317 +#: src/contexts/ThemeContext.tsx:62 +#: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" #: src/components/forms/AuthenticationForm.tsx:36 +#: src/functions/auth.tsx:28 msgid "Login failed" msgstr "" #: src/components/forms/AuthenticationForm.tsx:37 #: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:90 +#: src/functions/auth.tsx:103 msgid "Check your input and try again." msgstr "" @@ -107,7 +108,7 @@ msgstr "" #~ msgstr "" #: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:81 +#: src/functions/auth.tsx:94 msgid "Mail delivery successful" msgstr "" @@ -182,8 +183,9 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 -#: src/components/tables/part/PartCategoryTable.tsx:21 -#: src/components/tables/stock/StockLocationTable.tsx:21 +#: src/components/tables/part/PartCategoryTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -224,9 +226,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:290 -#: src/components/nav/SearchDrawer.tsx:426 -#: src/components/tables/InvenTreeTable.tsx:374 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:373 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -234,25 +236,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:366 +#: src/components/tables/InvenTreeTable.tsx:365 msgid "Unknown error" msgstr "" @@ -288,79 +296,90 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" msgstr "" -#: src/components/modals/QrCodeModal.tsx:68 +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" + +#: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" msgstr "" -#: src/components/modals/QrCodeModal.tsx:98 +#: src/components/modals/QrCodeModal.tsx:101 #: src/pages/Index/Scan.tsx:592 msgid "Error while getting camera" msgstr "" -#: src/components/modals/QrCodeModal.tsx:121 +#: src/components/modals/QrCodeModal.tsx:124 #: src/pages/Index/Scan.tsx:615 msgid "Error while scanning" msgstr "" -#: src/components/modals/QrCodeModal.tsx:135 +#: src/components/modals/QrCodeModal.tsx:138 #: src/pages/Index/Scan.tsx:629 msgid "Error while stopping" msgstr "" -#: src/components/modals/QrCodeModal.tsx:150 +#: src/components/modals/QrCodeModal.tsx:153 #: src/defaults/menuItems.tsx:22 #: src/pages/Index/Scan.tsx:698 msgid "Scanning" msgstr "" -#: src/components/modals/QrCodeModal.tsx:150 +#: src/components/modals/QrCodeModal.tsx:153 #: src/pages/Index/Scan.tsx:698 msgid "Not scanning" msgstr "" -#: src/components/modals/QrCodeModal.tsx:155 +#: src/components/modals/QrCodeModal.tsx:158 #: src/pages/Index/Scan.tsx:704 msgid "Select Camera" msgstr "" -#: src/components/modals/QrCodeModal.tsx:165 +#: src/components/modals/QrCodeModal.tsx:168 #: src/pages/Index/Scan.tsx:690 msgid "Start scanning" msgstr "" -#: src/components/modals/QrCodeModal.tsx:172 +#: src/components/modals/QrCodeModal.tsx:175 #: src/pages/Index/Scan.tsx:684 msgid "Stop scanning" msgstr "" -#: src/components/modals/QrCodeModal.tsx:177 +#: src/components/modals/QrCodeModal.tsx:180 msgid "No scans yet!" msgstr "" -#: src/components/modals/QrCodeModal.tsx:197 +#: src/components/modals/QrCodeModal.tsx:200 msgid "Close modal" msgstr "" -#: src/components/nav/MainMenu.tsx:38 +#: src/components/nav/MainMenu.tsx:40 #: src/pages/Index/Profile/Profile.tsx:15 msgid "Profile" msgstr "" -#: src/components/nav/MainMenu.tsx:42 +#: src/components/nav/MainMenu.tsx:44 msgid "Settings" msgstr "" -#: src/components/nav/MainMenu.tsx:45 +#: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:53 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -371,6 +390,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -396,10 +419,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -408,119 +427,242 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:68 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/components/nav/NotificationDrawer.tsx:69 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:85 +#: src/components/nav/NotificationDrawer.tsx:86 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:108 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" -#: src/components/nav/SearchDrawer.tsx:61 -#: src/components/tables/part/PartCategoryTable.tsx:39 -#: src/defaults/links.tsx:26 -#: src/pages/part/CategoryDetail.tsx:38 -#: src/pages/part/CategoryDetail.tsx:74 -#: src/pages/part/PartDetail.tsx:175 -msgid "Parts" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:69 -msgid "Supplier Parts" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:82 -msgid "Manufacturer Parts" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:95 -msgid "Part Categories" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:103 -#: src/components/tables/stock/StockLocationTable.tsx:37 -#: src/pages/stock/LocationDetail.tsx:26 -#: src/pages/stock/LocationDetail.tsx:67 -#: src/pages/stock/StockDetail.tsx:110 -msgid "Stock Items" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:114 -msgid "Stock Locations" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:122 -#: src/pages/build/BuildDetail.tsx:143 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:76 -msgid "Build Orders" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:132 -msgid "Companies" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:141 -#: src/pages/part/PartDetail.tsx:103 -msgid "Purchase Orders" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:151 -#: src/pages/part/PartDetail.tsx:110 -msgid "Sales Orders" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:161 -msgid "Return Orders" -msgstr "" - -#: src/components/nav/SearchDrawer.tsx:196 +#: src/components/nav/SearchDrawer.tsx:187 msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:352 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:379 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:382 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:392 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:429 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:440 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:443 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:70 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/Order.tsx:67 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 +msgid "Part" +msgstr "" + +#: src/components/render/ModelType.tsx:37 +#: src/components/tables/part/PartCategoryTable.tsx:40 +#: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 +#: src/pages/part/CategoryDetail.tsx:45 +#: src/pages/part/CategoryDetail.tsx:81 +#: src/pages/part/PartDetail.tsx:187 +msgid "Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" +msgstr "" + +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 +msgid "Manufacturer Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:60 +#: src/pages/part/CategoryDetail.tsx:94 +msgid "Part Category" +msgstr "" + +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 +msgid "Part Categories" +msgstr "" + +#: src/components/render/ModelType.tsx:66 +msgid "Stock Item" +msgstr "" + +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/stock/LocationDetail.tsx:33 +#: src/pages/stock/LocationDetail.tsx:74 +#: src/pages/stock/StockDetail.tsx:114 +msgid "Stock Items" +msgstr "" + +#: src/components/render/ModelType.tsx:72 +msgid "Stock Location" +msgstr "" + +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 +msgid "Stock Locations" +msgstr "" + +#: src/components/render/ModelType.tsx:78 +#: src/defaults/links.tsx:28 +msgid "Build" +msgstr "" + +#: src/components/render/ModelType.tsx:79 +msgid "Builds" +msgstr "" + +#: src/components/render/ModelType.tsx:84 +msgid "Company" +msgstr "" + +#: src/components/render/ModelType.tsx:85 +msgid "Companies" +msgstr "" + +#: src/components/render/ModelType.tsx:90 +msgid "Purchase Order" +msgstr "" + +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/part/PartDetail.tsx:133 +msgid "Purchase Orders" +msgstr "" + +#: src/components/render/ModelType.tsx:96 +msgid "Sales Order" +msgstr "" + +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/part/PartDetail.tsx:140 +msgid "Sales Orders" +msgstr "" + +#: src/components/render/ModelType.tsx:102 +msgid "Sales Order Shipment" +msgstr "" + +#: src/components/render/ModelType.tsx:103 +msgid "Sales Order Shipments" +msgstr "" + +#: src/components/render/ModelType.tsx:108 +msgid "Return Order" +msgstr "" + +#: src/components/render/ModelType.tsx:109 +msgid "Return Orders" +msgstr "" + +#: src/components/render/ModelType.tsx:114 +msgid "Address" +msgstr "" + +#: src/components/render/ModelType.tsx:115 +msgid "Addresses" +msgstr "" + +#: src/components/render/ModelType.tsx:120 +msgid "Contact" +msgstr "" + +#: src/components/render/ModelType.tsx:121 +msgid "Contacts" +msgstr "" + +#: src/components/render/ModelType.tsx:126 +msgid "Owner" +msgstr "" + +#: src/components/render/ModelType.tsx:127 +msgid "Owners" +msgstr "" + +#: src/components/render/ModelType.tsx:132 +#: src/pages/Index/Profile/Profile.tsx:23 +msgid "User" +msgstr "" + +#: src/components/render/ModelType.tsx:133 +msgid "Users" +msgstr "" + +#: src/components/render/Order.tsx:71 msgid "Shipment" msgstr "" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" +msgstr "" + +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" +msgstr "" + +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" +msgstr "" + +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" +msgstr "" + #: src/components/tables/AttachmentTable.tsx:29 msgid "Attachment" msgstr "" @@ -533,49 +675,54 @@ msgstr "" msgid "Uploaded" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 +#: src/components/tables/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:43 +#: src/components/tables/stock/StockItemTable.tsx:118 msgid "Edit" msgstr "" -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:97 -#: src/functions/forms.tsx:177 +#: src/components/tables/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:60 +#: src/functions/forms.tsx:176 #: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 +#: src/pages/Notifications.tsx:70 msgid "Delete" msgstr "" -#: src/components/tables/AttachmentTable.tsx:154 +#: src/components/tables/AttachmentTable.tsx:158 msgid "File uploaded" msgstr "" -#: src/components/tables/AttachmentTable.tsx:155 +#: src/components/tables/AttachmentTable.tsx:159 msgid "File {0} uploaded successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:166 +#: src/components/tables/AttachmentTable.tsx:170 msgid "Upload Error" msgstr "" -#: src/components/tables/AttachmentTable.tsx:167 +#: src/components/tables/AttachmentTable.tsx:171 msgid "File could not be uploaded" msgstr "" -#: src/components/tables/AttachmentTable.tsx:180 +#: src/components/tables/AttachmentTable.tsx:184 msgid "Add attachment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:199 +#: src/components/tables/AttachmentTable.tsx:203 msgid "Add external link" msgstr "" -#: src/components/tables/AttachmentTable.tsx:228 +#: src/components/tables/AttachmentTable.tsx:232 msgid "No attachments found" msgstr "" -#: src/components/tables/AttachmentTable.tsx:242 +#: src/components/tables/AttachmentTable.tsx:246 msgid "Upload attachment" msgstr "" @@ -641,6 +788,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -652,43 +800,43 @@ msgstr "" msgid "Add Filter" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:72 -#: src/components/tables/InvenTreeTable.tsx:328 -#: src/components/tables/InvenTreeTable.tsx:349 +#: src/components/tables/InvenTreeTable.tsx:71 +#: src/components/tables/InvenTreeTable.tsx:327 +#: src/components/tables/InvenTreeTable.tsx:348 msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:353 +#: src/components/tables/InvenTreeTable.tsx:352 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:356 +#: src/components/tables/InvenTreeTable.tsx:355 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:359 +#: src/components/tables/InvenTreeTable.tsx:358 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:362 +#: src/components/tables/InvenTreeTable.tsx:361 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:423 -#: src/components/tables/InvenTreeTable.tsx:424 +#: src/components/tables/InvenTreeTable.tsx:420 +#: src/components/tables/InvenTreeTable.tsx:421 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:431 -#: src/components/tables/InvenTreeTable.tsx:432 +#: src/components/tables/InvenTreeTable.tsx:428 +#: src/components/tables/InvenTreeTable.tsx:429 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:449 +#: src/components/tables/InvenTreeTable.tsx:446 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:468 +#: src/components/tables/InvenTreeTable.tsx:465 msgid "Table filters" msgstr "" @@ -697,101 +845,139 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:31 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:189 -msgid "Part" -msgstr "" - -#: src/components/tables/build/BuildOrderTable.tsx:44 -#: src/components/tables/part/PartCategoryTable.tsx:27 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:49 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:26 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/settings/ProjectCodeTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/settings/ProjectCodeTable.tsx:30 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" -#: src/components/tables/notifications/NotificationsTable.tsx:21 +#: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" -#: src/components/tables/notifications/NotificationsTable.tsx:26 +#: src/components/tables/notifications/NotificationsTable.tsx:27 #: src/components/tables/part/PartTable.tsx:58 msgid "Category" msgstr "" -#: src/components/tables/notifications/NotificationsTable.tsx:31 +#: src/components/tables/notifications/NotificationsTable.tsx:32 msgid "Notification" msgstr "" -#: src/components/tables/notifications/NotificationsTable.tsx:35 +#: src/components/tables/notifications/NotificationsTable.tsx:36 msgid "Message" msgstr "" -#: src/components/tables/part/PartCategoryTable.tsx:33 -#: src/components/tables/stock/StockLocationTable.tsx:31 +#: src/components/tables/part/PartCategoryTable.tsx:34 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:56 -#: src/pages/stock/LocationDetail.tsx:53 -#: src/pages/stock/StockDetail.tsx:97 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:80 +#: src/pages/stock/LocationDetail.tsx:60 +#: src/pages/stock/StockDetail.tsx:101 msgid "Stock" msgstr "" @@ -804,6 +990,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -868,7 +1055,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -906,73 +1093,187 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:61 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:69 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:72 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:82 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:104 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:107 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:49 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:55 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:67 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:68 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:71 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:83 +#: src/components/tables/settings/ProjectCodeTable.tsx:97 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:89 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:43 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:51 +#: src/components/tables/stock/StockLocationTable.tsx:52 msgid "External" msgstr "" +#: src/components/tables/stock/StockLocationTable.tsx:59 +msgid "Location Type" +msgstr "" + #: src/components/widgets/DisplayWidget.tsx:11 -#: src/pages/Index/Profile/UserPanel.tsx:137 +#: src/pages/Index/Profile/UserPanel.tsx:139 msgid "Display Settings" msgstr "" #: src/components/widgets/DisplayWidget.tsx:15 -#: src/pages/Index/Profile/UserPanel.tsx:141 +#: src/pages/Index/Profile/UserPanel.tsx:143 msgid "Color Mode" msgstr "" #: src/components/widgets/DisplayWidget.tsx:21 -#: src/pages/Index/Profile/UserPanel.tsx:147 +#: src/pages/Index/Profile/UserPanel.tsx:149 msgid "Language" msgstr "" @@ -1028,67 +1329,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1119,16 +1420,13 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:28 -msgid "Build" -msgstr "" - #: src/defaults/links.tsx:31 #: src/defaults/menuItems.tsx:32 -#: src/pages/Index/Playground.tsx:87 +#: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" @@ -1268,142 +1566,146 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "" +#: src/functions/auth.tsx:29 +msgid "Error fetching token from server." +msgstr "" + #: src/functions/auth.tsx:36 #~ msgid "Logout successfull" #~ msgstr "" -#: src/functions/auth.tsx:41 +#: src/functions/auth.tsx:49 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:42 +#: src/functions/auth.tsx:50 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:82 +#: src/functions/auth.tsx:95 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:89 +#: src/functions/auth.tsx:102 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:105 +#: src/functions/auth.tsx:118 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:106 +#: src/functions/auth.tsx:119 msgid "Found an existing login - using it to log you in." msgstr "" +#: src/functions/forms.tsx:39 #: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:57 -#: src/functions/forms.tsx:137 +#: src/functions/forms.tsx:136 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:40 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:58 +#: src/functions/forms.tsx:49 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:96 +#: src/functions/forms.tsx:91 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:97 +#: src/functions/forms.tsx:92 msgid "method parameter not supplied" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:57 +#: src/functions/forms/AttachmentForms.tsx:58 msgid "Add File" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:57 +#: src/functions/forms/AttachmentForms.tsx:58 msgid "Add Link" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:58 +#: src/functions/forms/AttachmentForms.tsx:59 msgid "File added" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:58 +#: src/functions/forms/AttachmentForms.tsx:59 msgid "Link added" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:100 +#: src/functions/forms/AttachmentForms.tsx:101 msgid "Edit File" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:100 +#: src/functions/forms/AttachmentForms.tsx:101 msgid "Edit Link" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:101 +#: src/functions/forms/AttachmentForms.tsx:102 msgid "File updated" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:101 +#: src/functions/forms/AttachmentForms.tsx:102 msgid "Link updated" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:127 +#: src/functions/forms/AttachmentForms.tsx:128 msgid "Delete Attachment" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:128 +#: src/functions/forms/AttachmentForms.tsx:129 msgid "Attachment deleted" msgstr "" -#: src/functions/forms/AttachmentForms.tsx:132 +#: src/functions/forms/AttachmentForms.tsx:133 msgid "Are you sure you want to delete this attachment?" msgstr "" -#: src/functions/forms/PartForms.tsx:76 +#: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" -#: src/functions/forms/PartForms.tsx:78 +#: src/functions/forms/PartForms.tsx:79 msgid "Part created" msgstr "" -#: src/functions/forms/PartForms.tsx:96 +#: src/functions/forms/PartForms.tsx:97 msgid "Edit Part" msgstr "" -#: src/functions/forms/PartForms.tsx:99 +#: src/functions/forms/PartForms.tsx:100 msgid "Part updated" msgstr "" -#: src/functions/forms/PartForms.tsx:111 +#: src/functions/forms/PartForms.tsx:112 msgid "Parent part category" msgstr "" -#: src/functions/forms/StockForms.tsx:44 +#: src/functions/forms/StockForms.tsx:45 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: src/functions/forms/StockForms.tsx:53 +#: src/functions/forms/StockForms.tsx:54 msgid "Enter initial quantity for this stock item" msgstr "" -#: src/functions/forms/StockForms.tsx:58 +#: src/functions/forms/StockForms.tsx:59 msgid "Serial Numbers" msgstr "" -#: src/functions/forms/StockForms.tsx:59 +#: src/functions/forms/StockForms.tsx:60 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: src/functions/forms/StockForms.tsx:104 +#: src/functions/forms/StockForms.tsx:105 msgid "Create Stock Item" msgstr "" -#: src/functions/forms/StockForms.tsx:118 +#: src/functions/forms/StockForms.tsx:119 msgid "Edit Stock Item" msgstr "" @@ -1492,19 +1794,14 @@ msgstr "" msgid "Welcome to your Dashboard{0}" msgstr "" -#: src/pages/Index/Playground.tsx:92 +#: src/pages/Index/Playground.tsx:93 msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:23 -msgid "User" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "" - #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 #~ msgid "Notification Settings" @@ -1514,12 +1811,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "" @@ -1635,23 +1926,23 @@ msgstr "" #~ msgid "Method: {0}" #~ msgstr "" -#: src/pages/Index/Profile/UserPanel.tsx:83 +#: src/pages/Index/Profile/UserPanel.tsx:85 msgid "Userinfo" msgstr "" -#: src/pages/Index/Profile/UserPanel.tsx:114 +#: src/pages/Index/Profile/UserPanel.tsx:116 msgid "First name: {0}" msgstr "" -#: src/pages/Index/Profile/UserPanel.tsx:117 +#: src/pages/Index/Profile/UserPanel.tsx:119 msgid "Last name: {0}" msgstr "" -#: src/pages/Index/Profile/UserPanel.tsx:120 +#: src/pages/Index/Profile/UserPanel.tsx:122 msgid "Username: {0}" msgstr "" -#: src/pages/Index/Profile/UserPanel.tsx:152 +#: src/pages/Index/Profile/UserPanel.tsx:154 msgid "Use pseudo language" msgstr "" @@ -1772,7 +2063,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1804,6 +2095,67 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:120 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:145 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:106 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "" @@ -1820,47 +2172,47 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:49 +#: src/pages/build/BuildDetail.tsx:51 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:55 +#: src/pages/build/BuildDetail.tsx:57 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:62 +#: src/pages/build/BuildDetail.tsx:64 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:69 +#: src/pages/build/BuildDetail.tsx:71 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:82 +#: src/pages/build/BuildDetail.tsx:84 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:94 +#: src/pages/build/BuildDetail.tsx:96 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:106 -#: src/pages/part/PartDetail.tsx:130 -#: src/pages/stock/StockDetail.tsx:70 +#: src/pages/build/BuildDetail.tsx:108 +#: src/pages/part/PartDetail.tsx:160 +#: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:118 -#: src/pages/part/PartDetail.tsx:142 -#: src/pages/stock/StockDetail.tsx:82 +#: src/pages/build/BuildDetail.tsx:120 +#: src/pages/part/PartDetail.tsx:172 +#: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:135 +#: src/pages/build/BuildDetail.tsx:137 msgid "Build Order" msgstr "" @@ -1869,47 +2221,40 @@ msgid "New Build Order" msgstr "" #: src/pages/part/CategoryDetail.tsx:52 -msgid "Subcategories" -msgstr "" +#~ msgid "Subcategories" +#~ msgstr "" -#: src/pages/part/CategoryDetail.tsx:64 +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:74 msgid "Parameters" msgstr "" -#: src/pages/part/CategoryDetail.tsx:87 -msgid "Part Category" -msgstr "" - -#: src/pages/part/PartDetail.tsx:50 -#: src/pages/stock/StockDetail.tsx:40 +#: src/pages/part/PartDetail.tsx:68 +#: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:62 +#: src/pages/part/PartDetail.tsx:92 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:69 +#: src/pages/part/PartDetail.tsx:99 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:83 +#: src/pages/part/PartDetail.tsx:113 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Pricing" -msgstr "" - -#: src/pages/part/PartDetail.tsx:96 +#: src/pages/part/PartDetail.tsx:126 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:117 +#: src/pages/part/PartDetail.tsx:147 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:154 msgid "Related Parts" msgstr "" @@ -1918,22 +2263,22 @@ msgstr "" #~ msgstr "" #: src/pages/stock/LocationDetail.tsx:38 -msgid "Sublocations" -msgstr "" +#~ msgid "Sublocations" +#~ msgstr "" -#: src/pages/stock/StockDetail.tsx:46 +#: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" -#: src/pages/stock/StockDetail.tsx:52 +#: src/pages/stock/StockDetail.tsx:56 msgid "Allocations" msgstr "" -#: src/pages/stock/StockDetail.tsx:58 +#: src/pages/stock/StockDetail.tsx:62 msgid "Installed Items" msgstr "" -#: src/pages/stock/StockDetail.tsx:64 +#: src/pages/stock/StockDetail.tsx:68 msgid "Child Items" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 3a7c588ea3..84bde1a974 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Título" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Sucesso" @@ -31,115 +31,117 @@ msgstr "Sucesso" msgid "Form Errors Exist" msgstr "Há erros de formulário" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Cancelar" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Enviar" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Falha ao acessar" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Verifique sua entrada e tente novamente." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Acesso bem-sucedido" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Bem-vindo(a) de volta!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Acesso bem-sucedido" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Bem-vindo(a) de volta!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "Envio de e-mail concluído" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Verifique sua caixa de entrada para o link de acesso. Se você tiver uma conta, você receberá um link de acesso. Também verifique o spam." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Erro de entrada" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Erro de entrada" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Bem-vindo(a), acesse abaixo" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Nome de usuário" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Senha" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Sua senha" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Redefinir senha" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Email" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Enviaremos um link para fazer o acesso - se você estiver registrado" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Me envie um e-mail" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Usarei nome de usuário e senha" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Acessar" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Enviar e-mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Servidor" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Nome" @@ -190,9 +193,9 @@ msgstr "Nome: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "Estado: <0>funcionário ({0}), <1>extensões{1}" msgid "Error" msgstr "Erro" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "Buscar" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "Carregando" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "Nenhum resultado encontrado" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Miniatura" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Leia Mais" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Erro desconhecido" @@ -250,10 +259,13 @@ msgstr "" msgid "Scan QR code" msgstr "Escanear código QR" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Miniatura" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Configurações" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Configurações de conta" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Sair" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Extensões" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Sair" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Sair" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Abrir Navegação" @@ -358,10 +382,6 @@ msgstr "Navegação" msgid "Pages" msgstr "Páginas" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Extensões" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Documentação" @@ -371,8 +391,10 @@ msgid "About" msgstr "Sobre" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Notificações" @@ -380,8 +402,8 @@ msgstr "Notificações" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "resultados" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Digite o texto de pesquisa" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Opções de pesquisa" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Busca por Regex" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Pesquisa de palavras inteira" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "Ocorreu um erro durante a pesquisa" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Nenhum resultado" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "Modelo desconhecido: {model}" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "Peça" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Peças" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" -msgstr "Peças do Fornecedor" - -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Peças do Fornecedor" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Peças do Fabricante" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Categorias de Peça" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "Itens de Estoque" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "Locais de estoque" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "Produzir" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Empresas" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Pedidos de compra" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Pedidos de vendas" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Pedidos de Devolução" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Usuário" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "Remessa" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "Editar" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "Excluir" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "Selecionar filtro" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Valor" @@ -709,37 +717,41 @@ msgstr "Adicionar Filtro" msgid "No records found" msgstr "Nenhum registro encontrado" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "Requisição inválida" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "Não autorizado" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "Proibido" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "Não encontrado" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "Ações de código de barras" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "Ações de impressão" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "Atualizar dados" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "Filtros da Tabela" @@ -748,57 +760,152 @@ msgstr "Filtros da Tabela" msgid "Actions" msgstr "Ações" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "Referência" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "Descrição" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "Código do Projeto" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "Quantidade" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "Concluído" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "Estado" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "Prioridade" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "Criado" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "Editar" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "Excluir" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Página Web" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "Unidades" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "IPN" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "Unidades" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "Link" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "Ativo" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "Filtrar por peças que têm estoque" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "Estoque Baixo" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "Não é Virtual" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "Detalhe" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "Lote" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "Local" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "Testar Filtro" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "Este é um filtro de testes" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "Aparência" msgid "Show Boxes" msgstr "Mostrar Caixas" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "Peças inscritas" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "Categorias Inscritas" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "Peças mais recentes" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "LDM Aguardando Validação" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "Atualizados Recentemente" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "Estoque Esgotado" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "Necessário para pedidos de produção" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "Estoque Expirado" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "Estoque Parado" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "Pedido de Produção em Progresso" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "Pedido de produção atrasado" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "Pedidos de Compra Pendentes" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "Pedido de Compra Vencido" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "Pedidos de Venda Pendentes" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "Pedidos de Venda Vencidos" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "Notícias Atuais" @@ -1147,10 +1431,6 @@ msgstr "Notícias Atuais" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Página Web" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "GitHub" @@ -1166,68 +1446,82 @@ msgstr "Início" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "Painel de Controle" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "Área de testes" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "Primeiros passos" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "Primeiros passos com InvenTree" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "API" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "Documentação de API do InvenTree" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "Manual do Desenvolvedor" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "Manual do desenvolvedor InvenTree" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "FAQ" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "Perguntas Frequentes" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "Instância" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "Sobre esta instância do Inventree" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "Sobre a organização InvenTree" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "Licenças" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "Licenças para pacotes usados pelo InvenTree" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "Sessão terminada" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "Nos vemos logo." -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Verifique sua caixa de entrada para o link de redefinição. Isso só funciona se você tiver uma conta. Cheque no spam também." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "A redefinação falhou" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Já conectado" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "Encontrado uma conta existente - usando-o para iniciar sessão." -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "Erro no formulário" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "Método de formulário não fornecido" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "A resposta não contém dados de ação" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "Formulário inválido" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "parâmetro do método não fornecido" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "Criar Peça" @@ -1478,7 +1780,7 @@ msgstr "Código de retorno inválido" msgid "Server returned status {returnCode}" msgstr "O servidor retornou o estado {returnCode}" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Checando se você já está conectado" @@ -1491,6 +1793,11 @@ msgstr "Nada selecionado" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Enviar e-mail" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Token inválido" @@ -1543,10 +1850,9 @@ msgstr "Bem-vindo ao seu painel{0}" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "Esta página é uma demonstração para as possibilidades da interface de plataforma." -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "Esta página é uma demonstração para as possibilidades da interface d #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "Preços" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Ordens de Produções" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "Desculpe, esta página não é conhecida ou foi movida." msgid "Go to the start page" msgstr "Ir para a página inicial" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "Anexos" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "Anotações" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" -msgstr "Ordens de Produções" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" +msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "Parâmetros" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "Detalhes" -#: src/pages/part/PartDetail.tsx:69 +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" +msgstr "Parâmetros" + +#: src/pages/part/PartDetail.tsx:97 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:76 +#: src/pages/part/PartDetail.tsx:104 msgid "Bill of Materials" msgstr "Lista de Materiais" -#: src/pages/part/PartDetail.tsx:90 +#: src/pages/part/PartDetail.tsx:116 msgid "Used In" msgstr "Usado em" -#: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" -msgstr "Preços" - -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "Fornecedores" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "Peças Relacionadas" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index b5ab1fbbef..fe171f8748 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Russian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Заголовок" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Успешно" @@ -31,115 +31,117 @@ msgstr "Успешно" msgid "Form Errors Exist" msgstr "Форма содержит ошибки" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Отменить" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Подтвердить" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Ошибка входа" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Проверьте введенные данные и повторите попытку." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Вы вошли" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "С возвращением!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Вы вошли" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "С возвращением!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "Отправка почты прошла успешно" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Проверьте свой почтовый ящик на наличие ссылки для входа в систему. Если у вас есть учетная запись, вы получите ссылку для входа в систему. Проверьте также спам." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Ошибка ввода" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Ошибка ввода" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Добро пожаловать, войдите ниже" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Имя пользователя" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Пароль" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Ваш пароль" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Сбросить пароль" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Электронная почта" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Мы вышлем вам ссылку для входа - если вы зарегистрированы" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Отправьте мне электронное письмо" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Я буду использовать имя пользователя и пароль" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Войти" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Отправить письмо" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Узел" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Название" @@ -190,9 +193,9 @@ msgstr "Название: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Состояние: <0>рабочий ({0}), <1>плагины{1}" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "Состояние: <0>рабочий ({0}), <1>плагины{ msgid "Error" msgstr "Ошибка" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "Поиск" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "Загрузка" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "Ничего не найдено" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Миниатюра" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Подробнее" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Неизвестная ошибка" @@ -250,10 +259,13 @@ msgstr "Эта панель является условной." msgid "Scan QR code" msgstr "Сканировать QR код" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Миниатюра" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Настройки" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Настройки аккаунта" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Выход" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Плагины" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Выход" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Выход" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Открыть панель навигации" @@ -358,10 +382,6 @@ msgstr "Панель навигации" msgid "Pages" msgstr "Страницы" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Плагины" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Документация" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Уведомления" @@ -380,8 +402,8 @@ msgstr "Уведомления" msgid "You have no unread notifications." msgstr "У вас нет непрочитанных уведомлений." -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "Пометить как прочитанное" @@ -389,182 +411,207 @@ msgstr "Пометить как прочитанное" msgid "results" msgstr "результаты" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Введите слова для поиска" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Параметры поиска" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Поиск по выражению" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "Произошла ошибка во время поиска запроса" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Нет результатов" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "Нет доступных результатов для поискового запроса" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "Неизвестная модель: {model}" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Детали" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" -msgstr "Детали поставщиков" - -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Детали поставщиков" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Детали производителей" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Категории деталей" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "Складские позиции" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "Места хранения" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Компании" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Заказы на закупку" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Заказы на продажу" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Заказы на возврат" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,64 +619,24 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" -msgstr "Комментарий" - -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "Изменить" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "Удалить" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" -msgstr "Загрузить вложения" - #: src/components/tables/ColumnSelect.tsx:17 #: src/components/tables/ColumnSelect.tsx:24 msgid "Select Columns" @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "Выбрать фильтр" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Значение" @@ -709,37 +717,41 @@ msgstr "Добавить фильтр" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "Комментарий" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "Изменить" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "Удалить" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "Загрузить вложения" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "Требуется для заказов на сборку" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "Активные заказы на сборку" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "Просроченные заказы на сборку" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Проверьте свой почтовый ящик, чтобы получить ссылку на сброс. Это работает только в том случае, если у вас есть учетная запись. Проверьте также спам." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Отправить письмо" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "История" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Заказы на сборку" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "Подробности сборки" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" -msgstr "Заказы на сборку" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" +msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 74d41234b6..2dbd1e3544 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index ca340a51f2..d00cb6591c 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Titel" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,115 +31,117 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Avbryt" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Skicka" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Inloggningen misslyckades" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Kontrollera din inmatning och försök igen." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Inlogningen lyckad" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Välkommen tillbaka!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Inlogningen lyckad" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Välkommen tillbaka!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "E-postleverans lyckad" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Kolla din inkorg för inloggningslänken. Om du har ett konto kommer du att få en inloggningslänk. Kolla in spam också." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Inmatningsfel" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Inmatningsfel" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Välkommen, logga in nedan" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Användarnamn" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Lösenord" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Ditt lösenord" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Återställ lösenord" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "E-post" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Vi skickar en länk till dig för att logga in - om du är registrerad" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Skicka ett e-postmeddelande" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Jag kommer att använda användarnamn och lösenord" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Logga in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Skicka e-post" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Värd" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Namn" @@ -190,9 +193,9 @@ msgstr "Namn: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "Fel" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "Sök" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "Inga resultat hittades" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Miniatyrbild" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Läs mer" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Okänt fel" @@ -250,10 +259,13 @@ msgstr "" msgid "Scan QR code" msgstr "Skanna QR-kod" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Miniatyrbild" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Inställningar" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Kontoinställningar" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Logga ut" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Plugins" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Logga ut" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Logga ut" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Öppna navigering" @@ -358,10 +382,6 @@ msgstr "Navigering" msgid "Pages" msgstr "Sidor" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Plugins" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Dokumentation" @@ -371,8 +391,10 @@ msgid "About" msgstr "Om" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Notifikationer" @@ -380,8 +402,8 @@ msgstr "Notifikationer" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "resultat" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Ange sökord" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Sökalternativ" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Hela ordsökningen" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "Ett fel inträffade under sökfrågan" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Inga resultat" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "Inga resultat tillgängliga för sökfrågan" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "Artkel" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Artiklar" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" -msgstr "Leverantörsartikel" - -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Leverantörsartikel" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Tillverkarens artiklar" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Artikelkategorier" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "Artikel i lager" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "Lagerplats" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "Bygg" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Företag" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Inköpsorder" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Försäljningsorder" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Returorder" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Användare" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "Redigera" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "Radera" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "Välj filter" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Värde" @@ -709,37 +717,41 @@ msgstr "Lägg till filter" msgid "No records found" msgstr "Inga resultat hittades" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "Felaktig begäran" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "Ej behörig" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "Otillåten" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "Hittades inte" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "Streckkods åtgärder" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "Skriv ut åtgärder" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "Uppdatera data" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "Tabellfilter" @@ -748,57 +760,152 @@ msgstr "Tabellfilter" msgid "Actions" msgstr "Åtgärder" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "Referens" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "Beskrivning" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "Projektkod" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "Antal" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "Slutförd" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "Status" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "Prioritet" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "Skapad" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "Redigera" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "Radera" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Hemsida" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "Enheter" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "IAN" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "Enheter" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "Länk" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "Aktiv" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "Filtrera efter artiklar som har enheter" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "Få i lager" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "Inte virtuell" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "Batch" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "Plats" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "Testa filter" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "Detta är ett testfilter" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "Prenumererade artiklar" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "Senaste artiklarna" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "BOM Väntar på validering" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "Senast uppdaterade" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "Slut i lager" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "Krävs för byggorder" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "Förfallet lager" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "Trögatlager ariklar" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "Pågående byggorder" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "Försenade byggorder" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "Utestående inköpsorder" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "Förfallna inköpsorder" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "Utestående försäljningsorder" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "Försenade försäljningsorder" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "Aktuella nyheter" @@ -1147,10 +1431,6 @@ msgstr "Aktuella nyheter" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Hemsida" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "GitHub" @@ -1166,68 +1446,82 @@ msgstr "Hem" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "Kontrollpanel" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "Kom igång" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "Komma igång med InvenTree" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "API" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "InvenTree API dokumentation" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "Utvecklarmanual" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "InvenTree utvecklarmanual" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "Frågor och svar" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "Vanliga frågor (FAQ)" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "Instans" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "Om denna Inventree instans" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "Om InvenTree org" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "Licenser" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "Licenser för paket som används av InvenTree" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "Utloggningen lyckad" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "Vi ses snart!" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "Kolla din inkorg för en återställningslänk. Detta fungerar bara om du har ett konto. Kontrollera även i skräppost." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "Återställningen misslyckades" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Redan inloggad" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "Hittade en befintlig inloggning - använder den för att logga in dig." -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Kontrollerar om du redan är inloggad" @@ -1491,6 +1793,11 @@ msgstr "Inget val" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Skicka e-post" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Ogiltig token" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Byggordrar" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "Tyvärr, denna sida hittades inte eller flyttad." msgid "Go to the start page" msgstr "Gå till startsidan" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" -msgstr "Byggordrar" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" +msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "Underkategorier" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "Parametrar" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" +msgstr "Parametrar" + +#: src/pages/part/PartDetail.tsx:97 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:76 +#: src/pages/part/PartDetail.tsx:104 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:90 +#: src/pages/part/PartDetail.tsx:116 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" -msgstr "" - -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 8ec4ed4447..30de9ad911 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:28\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index f489a08d89..b38a0f7d42 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Başlık" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Başarılı" @@ -31,115 +31,117 @@ msgstr "Başarılı" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Vazgeç" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Gönder" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Giriş başarısız" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Lütfen bilgilerinizi kontrol edin ve yeniden giriş yapın." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Oturum açıldı" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Tekrar Hoş Geldiniz!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Oturum açıldı" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Tekrar Hoş Geldiniz!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "E-posta teslimi başarılı" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Gelen kutunuzu kontrol edin. Eğer hesabınız varsa giriş yapabilmeniz için bir link alacaksınız. Spam klasörünüzü de kontrol edin." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Hatalı giriş" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Hatalı giriş" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Hoşgeldiniz, aşağıdan giriş yapın" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Kullanıcı Adı" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Parola" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Parolanız" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Parolayı sıfırla" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "E-posta" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Size giriş yapabilmeniz için bir link göndereceğiz - eğer kayıtlıysanız" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Bize bir eposta gönderin" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Kullanıcı adı ve şifre kullanacağım" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Giriş" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "E-posta gönder" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Sunucu" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Adı" @@ -190,9 +193,9 @@ msgstr "İsim: {0}" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "Durum: <0>worker ({0}), <1>eklenti{1}" msgid "Error" msgstr "Hata" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "Yükleniyor" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Küçük resim" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Devamını Oku" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -250,10 +259,13 @@ msgstr "" msgid "Scan QR code" msgstr "QR kodunu tara" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Küçük resim" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Ayarlar" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Hesap ayarları" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Çıkış" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Eklentiler" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Çıkış" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Çıkış" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Gezinmeyi Aç" @@ -358,10 +382,6 @@ msgstr "Gezinme" msgid "Pages" msgstr "Sayfalar" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Eklentiler" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Dokümantasyon" @@ -371,8 +391,10 @@ msgid "About" msgstr "Hakkında" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Bildirimler" @@ -380,8 +402,8 @@ msgstr "Bildirimler" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "sonuçlar" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Arama metnini gir" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Arama Seçenekleri" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Regex arama" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Tam kelime arama" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "Arama sorgusu sırasında bir hata oluştu" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Sonuç yok" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "Arama sorgusu için sonuç yok" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "Parça" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Parçalar" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" +#: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" -msgstr "Tedarikçi Parçaları" - -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "Tedarikçi Parçaları" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Üretici Parçaları" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Parça Kategorileri" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "Stok Kalemleri" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "Stok Konumları" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Şirketler" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Satış Emirleri" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "İade Emirleri" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Kullanıcı" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "Filtre seç" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Değer" @@ -709,37 +717,41 @@ msgstr "Filtre Ekle" msgid "No records found" msgstr "Hiç kayıt bulunamadı" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "Hatalı istek" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "Yetkisiz" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "Yasaklı" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "Bulunamadı" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "Barkod işlemleri" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "Yazdırma işlemleri" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "Tablo filtreleri" @@ -748,57 +760,152 @@ msgstr "Tablo filtreleri" msgid "Actions" msgstr "Eylemler" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "Referans" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "Açıklama" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "Proje Kodu" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "Miktar" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "Tamamlandı" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "Durum" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "Öncelik" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "Oluşturuldu" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Web Sitesi" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "Birim" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "DPN" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "Birim" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "Bağlantı" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "Aktif" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "Stoğu olan parçaları filtrele" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "Düşük Stok" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "Sanal Değil" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "Toplu" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "Konum" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "Görünüm" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "Son Parçalar" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "Son Güncellenenler" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "Tükenmiş Stok" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "Güncel Haberler" @@ -1147,10 +1431,6 @@ msgstr "Güncel Haberler" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Web Sitesi" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "GitHub" @@ -1166,68 +1446,82 @@ msgstr "Ana Sayfa" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "Panel" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "Başlarken" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "InvenTree ile başlarken" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "API" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "InvenTree API dokümantasyonu" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "Geliştirici Kılavuzu" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "InvenTree geliştirici kılavuzu" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "SSS" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "Sıkça sorulan sorular" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "InvenTree org hakkında" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "Lisanslar" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "Çıkış başarılı" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "Yakında görüşmek üzere." -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Zaten giriş yapılmış" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Zaten giriş yapıp yapmadığınız kontrol ediliyor" @@ -1491,6 +1793,11 @@ msgstr "Seçim yok" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "E-posta gönder" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Geçersiz token" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Yapım İşi Emirleri" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "Üzgünüz, böyle bir sayfa yok veya taşınmış." msgid "Go to the start page" msgstr "Başlangıç ​​sayfasına git" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" -msgstr "Yapım İşi Emirleri" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" +msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index e2923e3732..1bb0c149e9 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-15 16:33\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "Tiêu đề" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "Thành công" @@ -31,115 +31,117 @@ msgstr "Thành công" msgid "Form Errors Exist" msgstr "Từ các lỗi hiện hữu" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "Hủy bỏ" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "Gửi" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "Đăng nhập thất bại" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "Kiểm tra đầu vào của bạn và thử lại." -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "Đăng nhập thành công" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "Chào mừng bạn đã trở lại!" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "Đăng nhập thành công" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "Chào mừng bạn đã trở lại!" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "Thư đã được gửi đi thành công" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "Kiểm tra hộp thư để nhận liên kết đăng nhập. Nếu bạn đã có tài khoản, bạn sẽ nhận một liên kết đăng nhập. Kiểm tra đồng thời thư mục spam." -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "Lỗi đầu vào" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "Lỗi đầu vào" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "Chào bạn, đăng nhập bên dưới" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "Tên người dùng" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "Mật khẩu" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "Mật khẩu của bạn" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "Đặt lại mật khẩu" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "Địa chỉ email" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "Chúng tôi sẽ gửi bạn 1 liên kết để đăng nhập - nếu bạn đã đăng ký" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "Gửi email cho chúng tôi" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "Tôi sẽ sử dụng tên đăng nhập và mật khẩu" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" -msgstr "Đăng nhập" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" +msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" -msgstr "Gửi mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" +msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 #: src/components/forms/HostOptionsForm.tsx:66 @@ -149,7 +151,8 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "Tên" @@ -168,11 +171,11 @@ msgstr "Lưu lại" #: src/components/forms/InstanceOptions.tsx:43 msgid "Select destination instance" -msgstr "" +msgstr "Chọn thực thể đích" #: src/components/forms/InstanceOptions.tsx:71 msgid "Edit possible host options" -msgstr "" +msgstr "Sửa tùy chọn máy chủ có thể" #: src/components/forms/InstanceOptions.tsx:98 msgid "Version: {0}" @@ -188,11 +191,11 @@ msgstr "Tên: {0}" #: src/components/forms/InstanceOptions.tsx:104 msgid "State: <0>worker ({0}), <1>plugins{1}" -msgstr "" +msgstr "Trạng thái: <0>worker ({0}), <1>plugins{1}" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "Lỗi" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "Tìm kiếm" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "Đang tải" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "Không có kết quả nào được tìm thấy" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "Ảnh thu nhỏ" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "Xem thêm" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "Lỗi không xác định" @@ -236,7 +245,7 @@ msgstr "Logo InvenTree" #: src/components/items/Placeholder.tsx:14 msgid "This feature/button/site is a placeholder for a feature that is not implemented, only partial or intended for testing." -msgstr "" +msgstr "Tính năng/nút bấm/khu vực là dự kiến cho một tính năng chưa được triển khai, chỉ có một phần dùng để kiểm tra." #: src/components/items/Placeholder.tsx:17 msgid "PLH" @@ -244,16 +253,19 @@ msgstr "PLH" #: src/components/items/Placeholder.tsx:31 msgid "This panel is a placeholder." -msgstr "" +msgstr "Bảng điều khiển này là dự kiến." #: src/components/items/ScanButton.tsx:15 msgid "Scan QR code" msgstr "Quét mã QR" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" -msgstr "Ảnh thu nhỏ" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "Đồng ý" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" +msgstr "Không" #: src/components/modals/QrCodeModal.tsx:71 msgid "Unknown response" @@ -318,12 +330,20 @@ msgid "Settings" msgstr "Cài đặt" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "Cài đặt tài khoản" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" -msgstr "Đăng xuất" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "Thiết lập hệ thống" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" +msgstr "Plugins" #: src/components/nav/MainMenu.tsx:68 #~ msgid "Current language {locale}" @@ -333,6 +353,10 @@ msgstr "Đăng xuất" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "Đăng xuất" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "Mở điều hướng" @@ -348,7 +372,7 @@ msgstr "Bắt đầu" #: src/components/nav/NavHoverMenu.tsx:87 msgid "Overview over high-level objects, functions and possible usecases." -msgstr "" +msgstr "Tổng qua về đtối tượng mức cao, chức năng và tình huống sử dụng có thể." #: src/components/nav/NavigationDrawer.tsx:59 msgid "Navigation" @@ -358,10 +382,6 @@ msgstr "Điều hướng" msgid "Pages" msgstr "Trang" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "Plugins" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "Tài liệu" @@ -371,8 +391,10 @@ msgid "About" msgstr "Giới thiệu" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "Thông báo" @@ -380,8 +402,8 @@ msgstr "Thông báo" msgid "You have no unread notifications." msgstr "Bạn chưa có thông báo mới." -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "Đánh dấu đã đọc" @@ -389,182 +411,207 @@ msgstr "Đánh dấu đã đọc" msgid "results" msgstr "kết quả" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "Nhập văn bản tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "Tùy chọn tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "Tìm kiếm regex" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "Tìm phù hợp toàn bộ từ" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" -msgstr "" +msgstr "Lỗi trong quá trình truy vấn tìm kiếm" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "Không có kết quả" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" -msgstr "" +msgstr "Không có kết quả nào được tìm thấy với truy vấn tìm kiếm" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" -msgstr "" +msgstr "Model không rõ: {model}" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "Phụ kiện" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "Phụ tùng" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 +msgid "Part Parameter Template" +msgstr "Mẫu tham số phụ kiện" + +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" +msgstr "Mẫu tham số phụ kiện" + +#: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "Phụ kiện nhà cung cấp" + +#: src/components/render/ModelType.tsx:49 msgid "Supplier Parts" msgstr "Nhà cung cấp phụ kiện" -#: src/components/render/ModelType.tsx:47 +#: src/components/render/ModelType.tsx:54 msgid "Manufacturer Part" -msgstr "" +msgstr "Phụ kiện nhà sản xuất" -#: src/components/render/ModelType.tsx:48 +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "Nhà sản xuất phụ kiện" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "Danh mục phụ kiện" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "Danh mục phụ kiện" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" -msgstr "" +msgstr "Hàng trong kho" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" -msgstr "" +msgstr "Hàng trong kho" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" -msgstr "" +msgstr "Vị trí kho hàng" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" -msgstr "" +msgstr "Vị trí kho hàng" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "Xây dựng" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" -msgstr "" +msgstr "Bản dựng" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" -msgstr "" +msgstr "Công ty" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "Doanh nghiệp" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" -msgstr "" +msgstr "Đơn đặt mua" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Đơn hàng mua" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" -msgstr "" +msgstr "Đơn đặt bán" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Đơn hàng bán" -#: src/components/render/ModelType.tsx:95 -msgid "Sales Order Shipment" -msgstr "" - -#: src/components/render/ModelType.tsx:96 -msgid "Sales Order Shipments" -msgstr "" - -#: src/components/render/ModelType.tsx:101 -msgid "Return Order" -msgstr "" - #: src/components/render/ModelType.tsx:102 +msgid "Sales Order Shipment" +msgstr "Vận chuyển đơn hàng" + +#: src/components/render/ModelType.tsx:103 +msgid "Sales Order Shipments" +msgstr "Vận chuyển đơn hàng" + +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 +msgid "Return Order" +msgstr "Đơn hàng trả lại" + +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "Đơn hàng trả lại" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "Địa chỉ" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "Địa chỉ" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "Liên hệ" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "Danh bạ" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "Chủ sở hữu" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "Chủ sở hữu" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "Người dùng" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "Người dùng" @@ -572,63 +619,23 @@ msgstr "Người dùng" msgid "Shipment" msgstr "Lô hàng" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" -msgstr "Đính kèm" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" +msgstr "Cài đặt đã được cập nhật" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" -msgstr "Bình luận" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" +msgstr "{0} đã được cập nhật thành công" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" -msgstr "Đã tải lên" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" +msgstr "Lỗi sửa thiết lập" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "Sửa" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "Xóa" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "Tệp tin đã được tải lên" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "Tệp tin {0} đã được tải lên thành công" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "Lỗi tải lên" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "Tệp không thể tải lên" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "Thêm tệp đính kèm" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "Thêm liên kết ngoại" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "Không tìm thấy tệp đính kèm" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" -msgstr "Tải lên đính kèm" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" +msgstr "Sửa thiết lập" #: src/components/tables/ColumnSelect.tsx:17 #: src/components/tables/ColumnSelect.tsx:24 @@ -657,7 +664,7 @@ msgstr "Xoá bộ lọc" #: src/components/tables/FilterGroup.tsx:29 msgid "Add table filter" -msgstr "" +msgstr "Thêm bộ lọc bảng" #: src/components/tables/FilterGroup.tsx:44 msgid "Clear all filters" @@ -677,11 +684,11 @@ msgstr "Sai" #: src/components/tables/FilterSelectModal.tsx:143 msgid "Add Table Filter" -msgstr "" +msgstr "Thêm bộ lọc bảng" #: src/components/tables/FilterSelectModal.tsx:145 msgid "Select from the available filters" -msgstr "" +msgstr "Chọn từ bộ lọc có sẵn" #: src/components/tables/FilterSelectModal.tsx:149 msgid "Filter" @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "Chọn bộ lọc" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "Giá trị" @@ -707,98 +715,197 @@ msgstr "Thêm bộ lọc" #: src/components/tables/InvenTreeTable.tsx:327 #: src/components/tables/InvenTreeTable.tsx:348 msgid "No records found" +msgstr "Không tìm thấy biểu ghi" + +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "Yêu cầu không hợp lệ" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "Chưa cấp quyền" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "Bị cấm" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "Không tìm thấy" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "Chức năng mã vạch" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "Chức năng in ấn" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" -msgstr "" +msgstr "Bộ lọc bảng" #: src/components/tables/RowActions.tsx:33 #: src/components/tables/RowActions.tsx:40 msgid "Actions" msgstr "Chức năng" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "Tham chiếu" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "Mô tả" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "Mã dự án" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "Số lượng" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "Hoàn thành" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "Trạng thái" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "Độ ưu tiên" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "Được tạo" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "Ngày mục tiêu" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "Phát hành bởi" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "Chịu trách nhiệm" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "Đính kèm" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "Bình luận" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "Đã tải lên" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "Sửa" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "Xóa" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "Tệp tin đã được tải lên" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "Tệp tin {0} đã được tải lên thành công" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "Lỗi tải lên" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "Tệp không thể tải lên" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "Thêm tệp đính kèm" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "Thêm liên kết ngoại" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "Không tìm thấy tệp đính kèm" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "Tải lên đính kèm" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "Trang web" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "Tuổi" @@ -817,22 +924,64 @@ msgid "Message" msgstr "Nội dụng tin nhắn" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "Đường dẫn" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "Tham số" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "Đơn vị" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "Sửa tham số phụ kiện" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "Đã cập nhật các tham số phụ kiện" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "Xóa tham số phụ kiện" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "Đã xóa tham số phụ kiện" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "Bạn có chắc chắn muốn xóa tham số này không?" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "Thêm tham số phụ kiện" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "Đã thêm tham số phụ kiện" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "Thêm tham số" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "Bao gồm các biến thể" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "IPN" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "Đơn vị" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "Liên kết" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "Hoạt động" @@ -860,15 +1010,15 @@ msgstr "Lắp ráp" #: src/components/tables/part/PartTable.tsx:105 msgid "Filter by assembly attribute" -msgstr "" +msgstr "Lọc theo thuộc tính lắp ráp" #: src/components/tables/part/PartTable.tsx:110 msgid "Include Subcategories" -msgstr "" +msgstr "Bao gồm danh mục con" #: src/components/tables/part/PartTable.tsx:111 msgid "Include parts in subcategories" -msgstr "" +msgstr "Bao gồm phụ kiên trong danh mục con" #: src/components/tables/part/PartTable.tsx:116 msgid "Component" @@ -876,48 +1026,48 @@ msgstr "Thành phần" #: src/components/tables/part/PartTable.tsx:117 msgid "Filter by component attribute" -msgstr "" +msgstr "Lọc theo thuộc tính thành phần" #: src/components/tables/part/PartTable.tsx:122 msgid "Trackable" -msgstr "" +msgstr "Có thể theo dõi" #: src/components/tables/part/PartTable.tsx:123 msgid "Filter by trackable attribute" -msgstr "" +msgstr "Lọc theo thuộc tính có thể theo dõi" #: src/components/tables/part/PartTable.tsx:128 msgid "Has Units" -msgstr "" +msgstr "Có đơn vị" #: src/components/tables/part/PartTable.tsx:129 msgid "Filter by parts which have units" -msgstr "" +msgstr "Lọc theo phụ kiện có chứa đơn vị" #: src/components/tables/part/PartTable.tsx:134 msgid "Has IPN" -msgstr "" +msgstr "Có IPN" #: src/components/tables/part/PartTable.tsx:135 msgid "Filter by parts which have an internal part number" -msgstr "" +msgstr "Lọc theo sản phẩm có số sản phẩm nội bộ" #: src/components/tables/part/PartTable.tsx:140 msgid "Has Stock" -msgstr "" +msgstr "Có kho" #: src/components/tables/part/PartTable.tsx:141 msgid "Filter by parts which have stock" -msgstr "" +msgstr "Lọc theo sản phẩm có trong kho" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "Còn ít hàng" #: src/components/tables/part/PartTable.tsx:147 msgid "Filter by parts which have low stock" -msgstr "" +msgstr "Lọc theo sản phẩm có ít hàng" #: src/components/tables/part/PartTable.tsx:152 msgid "Purchaseable" @@ -925,7 +1075,7 @@ msgstr "Có thể mua" #: src/components/tables/part/PartTable.tsx:153 msgid "Filter by parts which are purchaseable" -msgstr "" +msgstr "Lọc theo sản phẩm có thể mua" #: src/components/tables/part/PartTable.tsx:158 msgid "Salable" @@ -933,7 +1083,7 @@ msgstr "Có thể bán" #: src/components/tables/part/PartTable.tsx:159 msgid "Filter by parts which are salable" -msgstr "" +msgstr "Lọc theo sản phẩm có thể bán" #: src/components/tables/part/PartTable.tsx:164 #: src/components/tables/part/PartTable.tsx:168 @@ -942,61 +1092,195 @@ msgstr "Ảo" #: src/components/tables/part/PartTable.tsx:165 msgid "Filter by parts which are virtual" -msgstr "" +msgstr "Lọc theo sản phẩm ảo" #: src/components/tables/part/PartTable.tsx:169 msgid "Not Virtual" msgstr "Không ảo" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "Chi tiết" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "Thêm phụ kiện liên quan" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "Phụ kiện liên quan" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "Phụ kiện liên quan đã được thêm" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "Thêm phụ kiện liên quan" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "Xóa phụ kiện liên quan" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "Phụ kiện liên quan đã được xóa" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" +msgstr "Bạn có chắc chắn muốn xóa mối quan hệ này không?" + +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "Phần bổ sung hoạt động" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "Phần bổ sung đang tắt" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "Phần bổ sung chưa được cài đặt" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "Phần bổ sung" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "Mô tả không có sẵn" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "Phiên bản" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "Hủy kích hoạt" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "Kích hoạt" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "Gắn liền" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "Mẫu" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "Đã cài đặt" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "Định nghĩa" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "Biểu tượng" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "Sửa đơn vị tùy chỉnh" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "Đơn vị tùy chỉnh đã được cập nhật" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "Xóa đơn vị tùy chỉnh" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "Đơn vị tùy chỉnh đã bị xóa" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "Bạn muốn xóa đơn vị tùy chỉnh này không?" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "Thêm đơn vị tùy chỉnh" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "Đơn vị tùy chỉnh đã được tạo" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "Sửa mã dự án" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "Mã dự án đã được cập nhật" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "Xóa mã dự án" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "Mã dự án đã được xóa" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "Bạn có chắc chắn là muốn xóa mã dự án này?" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "Thêm mã dự án" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "Mã dự án đã được thêm" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "Lệnh gộp" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "Vị trí" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "Kiểm thử bộ lọc" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "Đây là bộ lọc kiểm thử" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "Cấu trúc" @@ -1004,9 +1288,9 @@ msgstr "Cấu trúc" msgid "External" msgstr "Bên ngoài" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" -msgstr "" +msgstr "Loại vị trí" #: src/components/widgets/DisplayWidget.tsx:11 #: src/pages/Index/Profile/UserPanel.tsx:139 @@ -1025,15 +1309,15 @@ msgstr "Ngôn ngữ" #: src/components/widgets/FeedbackWidget.tsx:18 msgid "Something is new: Platform UI" -msgstr "" +msgstr "Một số thứ mới: Nền tảng UI" #: src/components/widgets/FeedbackWidget.tsx:20 msgid "We are building a new UI with a modern stack. What you currently see is not fixed and will be redesigned but demonstrates the UI/UX possibilities we will have going forward." -msgstr "" +msgstr "Chúng tôi đang xây dựng một UI mới với kiến trúc hiện đại. Thứ bạn nhìn thấy sẽ không được sửa và sẽ được thiết kế lại nhưng chứng tỏ khả năng UI/UX đang được cải tiến." #: src/components/widgets/FeedbackWidget.tsx:31 msgid "Provide Feedback" -msgstr "" +msgstr "Cung cấp phản hồi" #: src/components/widgets/GetStartedWidget.tsx:11 msgid "Getting started" @@ -1041,11 +1325,11 @@ msgstr "Bắt đầu" #: src/components/widgets/MarkdownEditor.tsx:109 msgid "Failed to upload image" -msgstr "" +msgstr "Lỗi tải ảnh lên" #: src/components/widgets/MarkdownEditor.tsx:147 msgid "Notes saved" -msgstr "" +msgstr "Ghi chú đã được lưu" #: src/components/widgets/MarkdownEditor.tsx:155 msgid "Failed to save notes" @@ -1075,67 +1359,67 @@ msgstr "Diện mạo" msgid "Show Boxes" msgstr "Hiển thị hộp" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "Phụ kiện đã đăng ký" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "Danh mục đã đăng ký" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "Phụ kiện mới nhất" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "BOM đợi phê chuẩn" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "Mới Cập Nhật" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" -msgstr "" +msgstr "Nguyên liệu đã cạn" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" -msgstr "" +msgstr "Yêu cầu cho đơn đặt bản dựng" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "Kho hàng quá hạn" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" -msgstr "" +msgstr "Sản phẩm để lâu" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" -msgstr "" +msgstr "Đơn đặt bản dựng đang thực hiện" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" -msgstr "" +msgstr "Đơn đặt bản dựng đang quá hạn" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Đơn đặt mua nổi bật" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "Đơn mua quá hạn" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Đơn hàng nổi bật" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "Đơn đặt quá hạn" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "Tin hiện tại" @@ -1147,10 +1431,6 @@ msgstr "Tin hiện tại" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "Trang web" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "GitHub" @@ -1166,70 +1446,84 @@ msgstr "Trang chủ" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "Bảng điều khiển" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "Sân chơi" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "Bắt đầu" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "Bắt đầu với InvenTree" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "API" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "Tài liệu InvenTree API" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "Sổ tay lập trình" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "Sổ tay lập trình InvenTree" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "Câu hỏi thường gặp" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "Câu hỏi thường gặp" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "Thực thể" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" -msgstr "" +msgstr "Về thực thể Inventree" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "InvenTree" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "Giới thiệu InvenTree org" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "Giấy phép" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" -msgstr "" +msgstr "Bản quyền cho gói được dùng bởi InventTree" #: src/defaults/menuItems.tsx:7 #~ msgid "Open sourcea" @@ -1257,7 +1551,7 @@ msgstr "Trang profile" #: src/defaults/menuItems.tsx:18 msgid "User attributes and design settings." -msgstr "" +msgstr "Thuốc tính người dùng và thiết lập thiết kế." #: src/defaults/menuItems.tsx:21 #~ msgid "Free for everyone" @@ -1269,7 +1563,7 @@ msgstr "" #: src/defaults/menuItems.tsx:24 msgid "View for interactive scanning and multiple actions." -msgstr "" +msgstr "Khung nhìn để quét tương tác và đa chức năng." #: src/defaults/menuItems.tsx:24 #~ msgid "The fluid of Smeargle’s tail secretions changes in the intensity" @@ -1311,60 +1605,60 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." -msgstr "" +msgstr "Lỗi gọi chữ ký số từ máy chủ." #: src/functions/auth.tsx:36 #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "Đăng xuất thành công" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "Hẹn gặp lại." -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." -msgstr "" +msgstr "Kiểm tra hộp thư để lấy liên kết đặt lại. Việc này chỉ có tác dụng khi bạn có tài khoản. Cần kiểm tra thư mục Spam/Junk." -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "Thiết lập lại thất bại" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "Đã đăng nhập" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." -msgstr "" +msgstr "Tìm thấy một tài khoản đã tồn tại - hãy sử dụng nó để đăng nhập." -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "Lỗi form" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" -msgstr "" +msgstr "Phương thức biểu mẫu chưa được cung cấp" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" -msgstr "" +msgstr "Phản hồi không chứa dữ liệu chức năng" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "Mẫu không hợp lệ" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" -msgstr "" +msgstr "tham số phương thức không được cung cấp" #: src/functions/forms/AttachmentForms.tsx:58 msgid "Add File" @@ -1408,6 +1702,14 @@ msgstr "Đã xóa tệp đính kèm" #: src/functions/forms/AttachmentForms.tsx:133 msgid "Are you sure you want to delete this attachment?" +msgstr "Bạn có chắc chắn muốn xóa tập tin đính kèm này?" + +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" msgstr "" #: src/functions/forms/PartForms.tsx:77 @@ -1432,11 +1734,11 @@ msgstr "Danh mục phụ kiện cha" #: src/functions/forms/StockForms.tsx:45 msgid "Add given quantity as packs instead of individual items" -msgstr "" +msgstr "Thêm số lượng đã có theo gói thay vì các mục đơn lẻ" #: src/functions/forms/StockForms.tsx:54 msgid "Enter initial quantity for this stock item" -msgstr "" +msgstr "Nhập số lượng khởi đầu cho kho hàng này" #: src/functions/forms/StockForms.tsx:59 msgid "Serial Numbers" @@ -1444,15 +1746,15 @@ msgstr "Số sê-ri" #: src/functions/forms/StockForms.tsx:60 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" +msgstr "Điền số sê-ri cho kho mới (hoặc để trống)" #: src/functions/forms/StockForms.tsx:105 msgid "Create Stock Item" -msgstr "" +msgstr "Tạo hàng trong kho" #: src/functions/forms/StockForms.tsx:119 msgid "Edit Stock Item" -msgstr "" +msgstr "Sửa hàng trong kho" #: src/functions/notifications.tsx:9 msgid "Not implemented" @@ -1478,7 +1780,7 @@ msgstr "Mã trả hàng không hợp lệ" msgid "Server returned status {returnCode}" msgstr "Mã phản hồi của máy chủ {returnCode}" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "Đang kiểm tra trạng thái đăng nhập của bạn" @@ -1491,21 +1793,26 @@ msgstr "Không có lựa chọn" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "Gửi mail" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "Token không hợp lệ" #: src/pages/Auth/Set-Password.tsx:30 msgid "You need to provide a valid token to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Bạn cần cung cấp chữ ký số hợp lệ để đặt mật khẩu mới. Kiểm tra hộp thư của bạn để lấy 1 liên kết tạo lại." #: src/pages/Auth/Set-Password.tsx:48 msgid "No token provided" -msgstr "" +msgstr "Chưa cung cấp chữ ký số" #: src/pages/Auth/Set-Password.tsx:49 msgid "You need to provide a token to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "Bạn cần cung cấp chữ ký số để đặt mật khẩu mới. Kiểm tra hộp thư của bạn để lấy 1 liên kết tạo lại." #: src/pages/Auth/Set-Password.tsx:72 msgid "Password set" @@ -1525,7 +1832,7 @@ msgstr "Lỗi: {0}" #: src/pages/ErrorPage.tsx:28 msgid "Sorry, an unexpected error has occurred." -msgstr "" +msgstr "Xin lỗi, lỗi bất ngờ đã xảy ra." #: src/pages/Index/Dashboard.tsx:22 msgid "Autoupdate" @@ -1533,7 +1840,7 @@ msgstr "Tự động cập nhật" #: src/pages/Index/Dashboard.tsx:26 msgid "This page is a replacement for the old start page with the same information. This page will be deprecated and replaced by the home page." -msgstr "" +msgstr "Trang này đã được thay thế cho trang khởi động cũ với thông tin tương tự. Trang này sẽ bị lỗi thời và thay thế bởi trang chủ." #: src/pages/Index/Home.tsx:58 msgid "Welcome to your Dashboard{0}" @@ -1541,12 +1848,11 @@ msgstr "Chào mừng bạn đến với bảng điều khiển của bạn" #: src/pages/Index/Playground.tsx:93 msgid "This page is a showcase for the possibilities of Platform UI." -msgstr "" +msgstr "Trang này là trình diễn tính năng dự kiến cho nền tảng UI." -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "Thiết lập phần bổ sung" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1744,11 +2044,11 @@ msgstr "Mã vạch dạng ảnh" #: src/pages/Index/Scan.tsx:219 msgid "Selected elements are not known" -msgstr "" +msgstr "Chọn phần tử chưa được biết đến" #: src/pages/Index/Scan.tsx:226 msgid "Multiple object types selected" -msgstr "" +msgstr "Đã chọn nhiều loại đối tượng" #: src/pages/Index/Scan.tsx:233 msgid "Actions for {0}" @@ -1764,11 +2064,11 @@ msgstr "Quét trang" #: src/pages/Index/Scan.tsx:253 msgid "This page can be used for continuously scanning items and taking actions on them." -msgstr "" +msgstr "Trang này hữu dụng khi quét liên tục các mục và thao tác với chúng." #: src/pages/Index/Scan.tsx:268 msgid "Select the input method you want to use to scan items." -msgstr "" +msgstr "Chọn phương thức nhập liệu bạn muốn để dùng quét mục." #: src/pages/Index/Scan.tsx:270 msgid "Input" @@ -1784,7 +2084,7 @@ msgstr "Không tìm thấy" #: src/pages/Index/Scan.tsx:286 msgid "Depending on the selected parts actions will be shown here. Not all barcode types are supported currently." -msgstr "" +msgstr "Tùy vào sản phẩm được chọn, chức năng sẽ được hiển thị ở đây. Hiện tại chưa hỗ trợ tất cả các loại mã vạch." #: src/pages/Index/Scan.tsx:288 msgid "Action" @@ -1792,7 +2092,7 @@ msgstr "Thao tác" #: src/pages/Index/Scan.tsx:297 msgid "{0} items selected" -msgstr "" +msgstr "đã chọn {0} mục" #: src/pages/Index/Scan.tsx:300 msgid "General Actions" @@ -1812,10 +2112,10 @@ msgstr "Lịch sử được lưu tạm trên trình duyệt của máy này." #: src/pages/Index/Scan.tsx:336 msgid "The history is kept in this browser's local storage. So it won't be shared with other users or other devices but is persistent through reloads. You can select items in the history to perform actions on them. To add items, scan/enter them in the Input area." -msgstr "" +msgstr "Lịch sử được giữ trong lưu trữ nội bộ trình duyệt. Vậy nó sẽ không thể được chia sẻ với người dùng khác hoặc thiết bị khác nhưng nó vẫn tồn tại bền bỉ cho dù có nạp lại trang. Bạn có thể chọn mục trong lịch sử để thao tác với chúng. Để thêm mục, quét/nhập chúng trong khu vực nhập liệu." #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "Lịch sử" @@ -1845,7 +2145,69 @@ msgstr "Nhập sê-ri hàng hóa hoặc dữ liệu" #: src/pages/Index/Scan.tsx:496 msgid "Add dummy item" -msgstr "" +msgstr "Thêm mục giả lập" + +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "Máy chủ" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "Đăng nhập" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "Mã vạch" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "Mã dự án" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "Đơn vị vật lí" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "Giá bán" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "Nhãn" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "Báo cáo" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "Tham số phụ kiện" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "Kiểm kê" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "Đơn đặt bản dựng" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "Tài khoản" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "Tùy chọn hiển thị" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "Cài đặt người dùng" #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." @@ -1857,114 +2219,253 @@ msgstr "Không tìm thấy" #: src/pages/NotFound.tsx:20 msgid "Sorry, this page is not known or was moved." -msgstr "" +msgstr "Rất tiếc, trang này không tồn tại hoặc đã bị xóa." #: src/pages/NotFound.tsx:27 msgid "Go to the start page" msgstr "Chuyển đến trang đầu" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "Đánh dấu chưa đọc" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" -msgstr "" +msgstr "Chi tiết bản dựng" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "Phân kho" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "Đầu ra chưa hoàn hiện" -#: src/pages/build/BuildDetail.tsx:71 -msgid "Completed Outputs" -msgstr "" - #: src/pages/build/BuildDetail.tsx:84 +msgid "Completed Outputs" +msgstr "Đầu ra hoàn thiện" + +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" -msgstr "" +msgstr "Kho tiêu thụ" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" -msgstr "" +msgstr "Đơn đặt bản dựng con" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "Đính kèm" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "Ghi chú" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" msgstr "" +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" +msgstr "Đơn đặt bản dựng" + #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" -msgstr "" +msgstr "Tạo đơn đặt bản dựng" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "Danh mục con" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "Thông số" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "Chi tiết" -#: src/pages/part/PartDetail.tsx:69 +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" +msgstr "Thông số" + +#: src/pages/part/PartDetail.tsx:97 msgid "Variants" msgstr "Biến thể" -#: src/pages/part/PartDetail.tsx:76 +#: src/pages/part/PartDetail.tsx:104 msgid "Bill of Materials" msgstr "Hóa đơn nguyên vật liệu" -#: src/pages/part/PartDetail.tsx:90 +#: src/pages/part/PartDetail.tsx:116 msgid "Used In" msgstr "Sử dụng trong" -#: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" -msgstr "Giá bán" - -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "Nhà cung cấp" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "Mẫu thử nghiệm" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "Phụ kiện liên quan" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" -msgstr "Kho phụ" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" +msgstr "" + +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" diff --git a/src/frontend/src/locales/zh/messages.po b/src/frontend/src/locales/zh/messages.po index 2faee1e34f..4383d7b35e 100644 --- a/src/frontend/src/locales/zh/messages.po +++ b/src/frontend/src/locales/zh/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-10-13 01:16\n" +"PO-Revision-Date: 2023-10-19 16:27\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,11 +18,11 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 205\n" -#: src/components/DashboardItemProxy.tsx:32 +#: src/components/DashboardItemProxy.tsx:33 msgid "Title" msgstr "" -#: src/components/forms/ApiForm.tsx:190 +#: src/components/forms/ApiForm.tsx:189 #: src/components/widgets/MarkdownEditor.tsx:146 msgid "Success" msgstr "" @@ -31,114 +31,116 @@ msgstr "" msgid "Form Errors Exist" msgstr "" -#: src/components/forms/ApiForm.tsx:302 +#: src/components/forms/ApiForm.tsx:300 #: src/components/tables/FilterSelectModal.tsx:166 -#: src/contexts/ThemeContext.tsx:65 +#: src/contexts/ThemeContext.tsx:62 msgid "Cancel" msgstr "" -#: src/components/forms/ApiForm.tsx:311 -#: src/contexts/ThemeContext.tsx:65 +#: src/components/forms/ApiForm.tsx:309 +#: src/contexts/ThemeContext.tsx:62 #: src/pages/Index/Profile/UserPanel.tsx:109 msgid "Submit" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:36 -#: src/functions/auth.tsx:28 +#: src/components/forms/AuthenticationForm.tsx:44 +#: src/functions/auth.tsx:29 msgid "Login failed" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:37 -#: src/components/forms/AuthenticationForm.tsx:63 -#: src/functions/auth.tsx:103 +#: src/components/forms/AuthenticationForm.tsx:45 +#: src/components/forms/AuthenticationForm.tsx:73 +#: src/functions/auth.tsx:104 msgid "Check your input and try again." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:42 -msgid "Login successful" -msgstr "" - -#: src/components/forms/AuthenticationForm.tsx:43 -msgid "Welcome back!" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:48 #: src/components/forms/AuthenticationForm.tsx:74 #: src/functions/auth.tsx:83 #~ msgid "Check your your input and try again." #~ msgstr "Check your your input and try again." +#: src/components/forms/AuthenticationForm.tsx:50 +msgid "Login successful" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:51 +msgid "Welcome back!" +msgstr "" + #: src/components/forms/AuthenticationForm.tsx:53 #~ msgid "Login successfull" #~ msgstr "Login successfull" -#: src/components/forms/AuthenticationForm.tsx:54 -#: src/functions/auth.tsx:94 +#: src/components/forms/AuthenticationForm.tsx:64 +#: src/functions/auth.tsx:95 msgid "Mail delivery successful" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:55 +#: src/components/forms/AuthenticationForm.tsx:65 msgid "Check your inbox for the login link. If you have an account, you will receive a login link. Check in spam too." msgstr "" -#: src/components/forms/AuthenticationForm.tsx:62 -msgid "Input error" -msgstr "" - #: src/components/forms/AuthenticationForm.tsx:65 #: src/functions/auth.tsx:74 #~ msgid "Mail delivery successfull" #~ msgstr "Mail delivery successfull" -#: src/components/forms/AuthenticationForm.tsx:74 +#: src/components/forms/AuthenticationForm.tsx:72 +msgid "Input error" +msgstr "" + +#: src/components/forms/AuthenticationForm.tsx:84 msgid "Welcome, log in below" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:81 +#: src/components/forms/AuthenticationForm.tsx:91 msgid "Username" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:87 +#: src/components/forms/AuthenticationForm.tsx:97 #: src/pages/Auth/Set-Password.tsx:105 msgid "Password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:88 +#: src/components/forms/AuthenticationForm.tsx:98 msgid "Your password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:99 +#: src/components/forms/AuthenticationForm.tsx:109 #: src/pages/Auth/Reset.tsx:26 msgid "Reset password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:107 +#: src/components/forms/AuthenticationForm.tsx:117 #: src/pages/Auth/Reset.tsx:31 msgid "Email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:108 +#: src/components/forms/AuthenticationForm.tsx:118 #: src/pages/Auth/Reset.tsx:32 #: src/pages/Auth/Set-Password.tsx:106 msgid "We will send you a link to login - if you are registered" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:124 +#: src/components/forms/AuthenticationForm.tsx:131 +#~ msgid "Log in" +#~ msgstr "Log in" + +#: src/components/forms/AuthenticationForm.tsx:134 msgid "Send me an email" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:126 +#: src/components/forms/AuthenticationForm.tsx:136 msgid "I will use username and password" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:131 -msgid "Log in" +#: src/components/forms/AuthenticationForm.tsx:145 +msgid "Log In" msgstr "" -#: src/components/forms/AuthenticationForm.tsx:133 -#: src/pages/Auth/Reset.tsx:41 -#: src/pages/Auth/Set-Password.tsx:111 -msgid "Send mail" +#: src/components/forms/AuthenticationForm.tsx:147 +msgid "Send Email" msgstr "" #: src/components/forms/HostOptionsForm.tsx:36 @@ -149,7 +151,8 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:69 #: src/components/tables/part/PartCategoryTable.tsx:22 -#: src/components/tables/stock/StockLocationTable.tsx:22 +#: src/components/tables/settings/CustomUnitsTable.tsx:27 +#: src/components/tables/stock/StockLocationTable.tsx:23 msgid "Name" msgstr "" @@ -190,9 +193,9 @@ msgstr "" msgid "State: <0>worker ({0}), <1>plugins{1}" msgstr "" -#: src/components/forms/fields/ApiFormField.tsx:301 -#: src/components/nav/SearchDrawer.tsx:419 -#: src/components/tables/InvenTreeTable.tsx:373 +#: src/components/forms/fields/ApiFormField.tsx:316 +#: src/components/nav/SearchDrawer.tsx:417 +#: src/components/tables/InvenTreeTable.tsx:384 #: src/components/widgets/MarkdownEditor.tsx:108 #: src/components/widgets/MarkdownEditor.tsx:154 #: src/pages/ErrorPage.tsx:12 @@ -200,25 +203,31 @@ msgstr "" msgid "Error" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:212 +#: src/components/forms/fields/RelatedModelField.tsx:214 +#: src/pages/Index/UserSettings.tsx:53 msgid "Search" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:213 +#: src/components/forms/fields/RelatedModelField.tsx:215 #: src/components/widgets/WidgetLayout.tsx:134 msgid "Loading" msgstr "" -#: src/components/forms/fields/RelatedModelField.tsx:215 +#: src/components/forms/fields/RelatedModelField.tsx:217 msgid "No results found" msgstr "" +#: src/components/images/Thumbnail.tsx:11 +#: src/components/images/Thumbnail.tsx:41 +msgid "Thumbnail" +msgstr "" + #: src/components/items/DocTooltip.tsx:94 msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/components/tables/InvenTreeTable.tsx:365 +#: src/components/tables/InvenTreeTable.tsx:376 msgid "Unknown error" msgstr "" @@ -250,9 +259,12 @@ msgstr "" msgid "Scan QR code" msgstr "" -#: src/components/items/Thumbnail.tsx:10 -#: src/components/items/Thumbnail.tsx:43 -msgid "Thumbnail" +#: src/components/items/YesNoButton.tsx:15 +msgid "Yes" +msgstr "" + +#: src/components/items/YesNoButton.tsx:15 +msgid "No" msgstr "" #: src/components/modals/QrCodeModal.tsx:71 @@ -318,11 +330,19 @@ msgid "Settings" msgstr "" #: src/components/nav/MainMenu.tsx:47 +#: src/components/nav/MainMenu.tsx:50 msgid "Account settings" msgstr "" -#: src/components/nav/MainMenu.tsx:55 -msgid "Logout" +#: src/components/nav/MainMenu.tsx:54 +#: src/pages/Index/SystemSettings.tsx:256 +msgid "System Settings" +msgstr "" + +#: src/components/nav/MainMenu.tsx:63 +#: src/components/nav/NavigationDrawer.tsx:67 +#: src/pages/Index/PluginSettings.tsx:32 +msgid "Plugins" msgstr "" #: src/components/nav/MainMenu.tsx:68 @@ -333,6 +353,10 @@ msgstr "" #~ msgid "Switch to pseudo language" #~ msgstr "Switch to pseudo language" +#: src/components/nav/MainMenu.tsx:74 +msgid "Logout" +msgstr "" + #: src/components/nav/NavHoverMenu.tsx:52 msgid "Open Navigation" msgstr "" @@ -358,10 +382,6 @@ msgstr "" msgid "Pages" msgstr "" -#: src/components/nav/NavigationDrawer.tsx:67 -msgid "Plugins" -msgstr "" - #: src/components/nav/NavigationDrawer.tsx:77 msgid "Documentation" msgstr "" @@ -371,8 +391,10 @@ msgid "About" msgstr "" #: src/components/nav/NotificationDrawer.tsx:69 -#: src/pages/Notifications.tsx:21 -#: src/pages/Notifications.tsx:86 +#: src/pages/Index/SystemSettings.tsx:119 +#: src/pages/Index/UserSettings.tsx:83 +#: src/pages/Notifications.tsx:22 +#: src/pages/Notifications.tsx:90 msgid "Notifications" msgstr "" @@ -380,8 +402,8 @@ msgstr "" msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:109 -#: src/pages/Notifications.tsx:29 +#: src/components/nav/NotificationDrawer.tsx:110 +#: src/pages/Notifications.tsx:30 msgid "Mark as read" msgstr "" @@ -389,182 +411,207 @@ msgstr "" msgid "results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:345 +#: src/components/nav/SearchDrawer.tsx:343 msgid "Enter search text" msgstr "" -#: src/components/nav/SearchDrawer.tsx:372 +#: src/components/nav/SearchDrawer.tsx:370 msgid "Search Options" msgstr "" -#: src/components/nav/SearchDrawer.tsx:375 +#: src/components/nav/SearchDrawer.tsx:373 msgid "Regex search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:385 +#: src/components/nav/SearchDrawer.tsx:383 msgid "Whole word search" msgstr "" -#: src/components/nav/SearchDrawer.tsx:422 +#: src/components/nav/SearchDrawer.tsx:420 msgid "An error occurred during search query" msgstr "" -#: src/components/nav/SearchDrawer.tsx:433 +#: src/components/nav/SearchDrawer.tsx:431 msgid "No results" msgstr "" -#: src/components/nav/SearchDrawer.tsx:436 +#: src/components/nav/SearchDrawer.tsx:434 msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:105 +#: src/components/render/Instance.tsx:130 msgid "Unknown model: {model}" msgstr "" -#: src/components/render/ModelType.tsx:35 -#: src/components/tables/build/BuildOrderTable.tsx:26 -#: src/components/tables/part/PartTable.tsx:25 -#: src/components/tables/part/RelatedPartTable.tsx:32 -#: src/components/tables/stock/StockItemTable.tsx:22 -#: src/pages/part/PartDetail.tsx:193 +#: src/components/render/ModelType.tsx:36 +#: src/components/tables/build/BuildOrderTable.tsx:27 +#: src/components/tables/part/PartParameterTable.tsx:28 +#: src/components/tables/part/PartTable.tsx:23 +#: src/components/tables/part/RelatedPartTable.tsx:35 +#: src/components/tables/stock/StockItemTable.tsx:23 msgid "Part" msgstr "" -#: src/components/render/ModelType.tsx:36 +#: src/components/render/ModelType.tsx:37 #: src/components/tables/part/PartCategoryTable.tsx:40 #: src/defaults/links.tsx:26 +#: src/pages/Index/SystemSettings.tsx:156 #: src/pages/part/CategoryDetail.tsx:45 #: src/pages/part/CategoryDetail.tsx:81 -#: src/pages/part/PartDetail.tsx:179 +#: src/pages/part/PartDetail.tsx:194 msgid "Parts" msgstr "" -#: src/components/render/ModelType.tsx:41 -msgid "Supplier Part" -msgstr "" - #: src/components/render/ModelType.tsx:42 -msgid "Supplier Parts" +msgid "Part Parameter Template" msgstr "" -#: src/components/render/ModelType.tsx:47 -msgid "Manufacturer Part" +#: src/components/render/ModelType.tsx:43 +msgid "Part Parameter Templates" msgstr "" #: src/components/render/ModelType.tsx:48 +msgid "Supplier Part" +msgstr "" + +#: src/components/render/ModelType.tsx:49 +msgid "Supplier Parts" +msgstr "" + +#: src/components/render/ModelType.tsx:54 +msgid "Manufacturer Part" +msgstr "" + +#: src/components/render/ModelType.tsx:55 msgid "Manufacturer Parts" msgstr "" -#: src/components/render/ModelType.tsx:53 +#: src/components/render/ModelType.tsx:60 #: src/pages/part/CategoryDetail.tsx:94 msgid "Part Category" msgstr "" -#: src/components/render/ModelType.tsx:54 +#: src/components/render/ModelType.tsx:61 +#: src/pages/Index/SystemSettings.tsx:151 +#: src/pages/part/CategoryDetail.tsx:59 msgid "Part Categories" msgstr "" -#: src/components/render/ModelType.tsx:59 +#: src/components/render/ModelType.tsx:66 msgid "Stock Item" msgstr "" -#: src/components/render/ModelType.tsx:60 -#: src/components/tables/stock/StockLocationTable.tsx:38 +#: src/components/render/ModelType.tsx:67 +#: src/components/tables/stock/StockLocationTable.tsx:39 +#: src/pages/company/CompanyDetail.tsx:94 #: src/pages/stock/LocationDetail.tsx:33 #: src/pages/stock/LocationDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:114 msgid "Stock Items" msgstr "" -#: src/components/render/ModelType.tsx:65 +#: src/components/render/ModelType.tsx:72 msgid "Stock Location" msgstr "" -#: src/components/render/ModelType.tsx:66 +#: src/components/render/ModelType.tsx:73 +#: src/pages/stock/LocationDetail.tsx:45 msgid "Stock Locations" msgstr "" -#: src/components/render/ModelType.tsx:71 +#: src/components/render/ModelType.tsx:78 #: src/defaults/links.tsx:28 msgid "Build" msgstr "" -#: src/components/render/ModelType.tsx:72 +#: src/components/render/ModelType.tsx:79 msgid "Builds" msgstr "" -#: src/components/render/ModelType.tsx:77 +#: src/components/render/ModelType.tsx:84 msgid "Company" msgstr "" -#: src/components/render/ModelType.tsx:78 +#: src/components/render/ModelType.tsx:85 msgid "Companies" msgstr "" -#: src/components/render/ModelType.tsx:83 +#: src/components/render/ModelType.tsx:90 msgid "Purchase Order" msgstr "" -#: src/components/render/ModelType.tsx:84 -#: src/pages/part/PartDetail.tsx:110 +#: src/components/render/ModelType.tsx:91 +#: src/pages/Index/SystemSettings.tsx:225 +#: src/pages/company/CompanyDetail.tsx:85 +#: src/pages/part/PartDetail.tsx:133 +#: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" -#: src/components/render/ModelType.tsx:89 +#: src/components/render/ModelType.tsx:96 +#: src/components/tables/sales/SalesOrderTable.tsx:23 msgid "Sales Order" msgstr "" -#: src/components/render/ModelType.tsx:90 -#: src/pages/part/PartDetail.tsx:117 +#: src/components/render/ModelType.tsx:97 +#: src/pages/Index/SystemSettings.tsx:238 +#: src/pages/company/CompanyDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:139 +#: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" -#: src/components/render/ModelType.tsx:95 +#: src/components/render/ModelType.tsx:102 msgid "Sales Order Shipment" msgstr "" -#: src/components/render/ModelType.tsx:96 +#: src/components/render/ModelType.tsx:103 msgid "Sales Order Shipments" msgstr "" -#: src/components/render/ModelType.tsx:101 +#: src/components/render/ModelType.tsx:108 +#: src/components/tables/sales/ReturnOrderTable.tsx:23 msgid "Return Order" msgstr "" -#: src/components/render/ModelType.tsx:102 +#: src/components/render/ModelType.tsx:109 +#: src/pages/company/CompanyDetail.tsx:112 +#: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" msgstr "" -#: src/components/render/ModelType.tsx:107 +#: src/components/render/ModelType.tsx:114 msgid "Address" msgstr "" -#: src/components/render/ModelType.tsx:108 +#: src/components/render/ModelType.tsx:115 +#: src/pages/company/CompanyDetail.tsx:132 msgid "Addresses" msgstr "" -#: src/components/render/ModelType.tsx:113 +#: src/components/render/ModelType.tsx:120 msgid "Contact" msgstr "" -#: src/components/render/ModelType.tsx:114 +#: src/components/render/ModelType.tsx:121 +#: src/pages/company/CompanyDetail.tsx:127 msgid "Contacts" msgstr "" -#: src/components/render/ModelType.tsx:119 +#: src/components/render/ModelType.tsx:126 msgid "Owner" msgstr "" -#: src/components/render/ModelType.tsx:120 +#: src/components/render/ModelType.tsx:127 msgid "Owners" msgstr "" -#: src/components/render/ModelType.tsx:125 +#: src/components/render/ModelType.tsx:132 #: src/pages/Index/Profile/Profile.tsx:23 msgid "User" msgstr "" -#: src/components/render/ModelType.tsx:126 +#: src/components/render/ModelType.tsx:133 msgid "Users" msgstr "" @@ -572,62 +619,22 @@ msgstr "" msgid "Shipment" msgstr "" -#: src/components/tables/AttachmentTable.tsx:29 -msgid "Attachment" +#: src/components/settings/SettingItem.tsx:29 +#: src/components/settings/SettingItem.tsx:71 +msgid "Setting updated" msgstr "" -#: src/components/tables/AttachmentTable.tsx:46 -msgid "Comment" +#: src/components/settings/SettingItem.tsx:30 +#: src/components/settings/SettingItem.tsx:72 +msgid "{0} updated successfully" msgstr "" -#: src/components/tables/AttachmentTable.tsx:55 -msgid "Uploaded" +#: src/components/settings/SettingItem.tsx:38 +msgid "Error editing setting" msgstr "" -#: src/components/tables/AttachmentTable.tsx:113 -#: src/components/tables/part/PartTable.tsx:198 -#: src/components/tables/stock/StockItemTable.tsx:115 -msgid "Edit" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:128 -#: src/components/tables/part/RelatedPartTable.tsx:98 -#: src/functions/forms.tsx:168 -#: src/pages/Index/Scan.tsx:306 -#: src/pages/Notifications.tsx:66 -msgid "Delete" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:154 -msgid "File uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:155 -msgid "File {0} uploaded successfully" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:166 -msgid "Upload Error" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:167 -msgid "File could not be uploaded" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:180 -msgid "Add attachment" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:199 -msgid "Add external link" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:228 -msgid "No attachments found" -msgstr "" - -#: src/components/tables/AttachmentTable.tsx:242 -msgid "Upload attachment" +#: src/components/settings/SettingItem.tsx:58 +msgid "Edit Setting" msgstr "" #: src/components/tables/ColumnSelect.tsx:17 @@ -692,6 +699,7 @@ msgid "Select filter" msgstr "" #: src/components/tables/FilterSelectModal.tsx:159 +#: src/components/tables/part/PartParameterTable.tsx:66 msgid "Value" msgstr "" @@ -709,37 +717,41 @@ msgstr "" msgid "No records found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:352 +#: src/components/tables/InvenTreeTable.tsx:355 +msgid "Server returned incorrect data type" +msgstr "" + +#: src/components/tables/InvenTreeTable.tsx:363 msgid "Bad request" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:355 +#: src/components/tables/InvenTreeTable.tsx:366 msgid "Unauthorized" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:358 +#: src/components/tables/InvenTreeTable.tsx:369 msgid "Forbidden" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:361 +#: src/components/tables/InvenTreeTable.tsx:372 msgid "Not found" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:422 -#: src/components/tables/InvenTreeTable.tsx:423 +#: src/components/tables/InvenTreeTable.tsx:433 +#: src/components/tables/InvenTreeTable.tsx:434 msgid "Barcode actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:430 -#: src/components/tables/InvenTreeTable.tsx:431 +#: src/components/tables/InvenTreeTable.tsx:441 +#: src/components/tables/InvenTreeTable.tsx:442 msgid "Print actions" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:448 +#: src/components/tables/InvenTreeTable.tsx:459 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTable.tsx:467 +#: src/components/tables/InvenTreeTable.tsx:478 msgid "Table filters" msgstr "" @@ -748,57 +760,152 @@ msgstr "" msgid "Actions" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:20 +#: src/components/tables/build/BuildOrderTable.tsx:21 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:23 msgid "Reference" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:44 +#: src/components/tables/build/BuildOrderTable.tsx:45 +#: src/components/tables/general/CompanyTable.tsx:47 #: src/components/tables/part/PartCategoryTable.tsx:28 +#: src/components/tables/part/PartParameterTable.tsx:59 #: src/components/tables/part/PartTable.tsx:52 -#: src/components/tables/part/RelatedPartTable.tsx:50 -#: src/components/tables/stock/StockItemTable.tsx:39 -#: src/components/tables/stock/StockLocationTable.tsx:27 +#: src/components/tables/part/RelatedPartTable.tsx:55 +#: src/components/tables/plugin/PluginListTable.tsx:69 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:29 +#: src/components/tables/sales/ReturnOrderTable.tsx:28 +#: src/components/tables/sales/SalesOrderTable.tsx:29 +#: src/components/tables/settings/ProjectCodeTable.tsx:33 +#: src/components/tables/stock/StockItemTable.tsx:42 +#: src/components/tables/stock/StockLocationTable.tsx:28 msgid "Description" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:49 +#: src/components/tables/build/BuildOrderTable.tsx:50 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:54 +#: src/components/tables/sales/ReturnOrderTable.tsx:53 +#: src/components/tables/sales/SalesOrderTable.tsx:54 +#: src/components/tables/settings/ProjectCodeTable.tsx:28 msgid "Project Code" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:59 +#: src/components/tables/build/BuildOrderTable.tsx:60 msgid "Quantity" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:65 -#: src/components/tables/build/BuildOrderTable.tsx:108 +#: src/components/tables/build/BuildOrderTable.tsx:66 +#: src/components/tables/build/BuildOrderTable.tsx:109 msgid "Completed" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:83 -#: src/components/tables/stock/StockItemTable.tsx:52 +#: src/components/tables/build/BuildOrderTable.tsx:84 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:60 +#: src/components/tables/sales/ReturnOrderTable.tsx:59 +#: src/components/tables/sales/SalesOrderTable.tsx:60 +#: src/components/tables/stock/StockItemTable.tsx:55 msgid "Status" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:89 +#: src/components/tables/build/BuildOrderTable.tsx:90 msgid "Priority" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:96 +#: src/components/tables/build/BuildOrderTable.tsx:97 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:67 msgid "Created" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:102 +#: src/components/tables/build/BuildOrderTable.tsx:103 +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:73 msgid "Target Date" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:114 +#: src/components/tables/build/BuildOrderTable.tsx:115 msgid "Issued By" msgstr "" -#: src/components/tables/build/BuildOrderTable.tsx:121 +#: src/components/tables/build/BuildOrderTable.tsx:122 msgid "Responsible" msgstr "" +#: src/components/tables/general/AttachmentTable.tsx:29 +msgid "Attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:46 +msgid "Comment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:55 +msgid "Uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:117 +#: src/components/tables/part/PartParameterTable.tsx:107 +#: src/components/tables/settings/CustomUnitsTable.tsx:49 +#: src/components/tables/settings/ProjectCodeTable.tsx:41 +#: src/components/tables/stock/StockItemTable.tsx:118 +#: src/pages/build/BuildDetail.tsx:189 +#: src/pages/company/CompanyDetail.tsx:192 +#: src/pages/part/PartDetail.tsx:270 +msgid "Edit" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:132 +#: src/components/tables/part/PartParameterTable.tsx:128 +#: src/components/tables/part/RelatedPartTable.tsx:103 +#: src/components/tables/settings/CustomUnitsTable.tsx:67 +#: src/components/tables/settings/ProjectCodeTable.tsx:58 +#: src/functions/forms.tsx:186 +#: src/pages/Index/Scan.tsx:306 +#: src/pages/Notifications.tsx:70 +#: src/pages/build/BuildDetail.tsx:199 +#: src/pages/company/CompanyDetail.tsx:206 +#: src/pages/part/PartDetail.tsx:287 +msgid "Delete" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:158 +msgid "File uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:159 +msgid "File {0} uploaded successfully" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:170 +msgid "Upload Error" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:171 +msgid "File could not be uploaded" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:184 +msgid "Add attachment" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:203 +msgid "Add external link" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:233 +msgid "No attachments found" +msgstr "" + +#: src/components/tables/general/AttachmentTable.tsx:248 +msgid "Upload attachment" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:30 +msgid "Company Name" +msgstr "" + +#: src/components/tables/general/CompanyTable.tsx:53 +#: src/defaults/links.tsx:9 +msgid "Website" +msgstr "" + #: src/components/tables/notifications/NotificationsTable.tsx:22 msgid "Age" msgstr "" @@ -817,22 +924,64 @@ msgid "Message" msgstr "" #: src/components/tables/part/PartCategoryTable.tsx:34 -#: src/components/tables/stock/StockLocationTable.tsx:32 +#: src/components/tables/stock/StockLocationTable.tsx:33 msgid "Path" msgstr "" +#: src/components/tables/part/PartParameterTable.tsx:48 +msgid "Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:87 +#: src/components/tables/part/PartTable.tsx:47 +msgid "Units" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:113 +msgid "Edit Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:121 +msgid "Part parameter updated" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:135 +msgid "Delete Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:136 +msgid "Part parameter deleted" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:139 +msgid "Are you sure you want to remove this parameter?" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:158 +msgid "Add Part Parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:167 +msgid "Part parameter added" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:178 +msgid "Add parameter" +msgstr "" + +#: src/components/tables/part/PartParameterTable.tsx:199 +msgid "Include Variants" +msgstr "" + #: src/components/tables/part/PartTable.tsx:40 msgid "IPN" msgstr "" -#: src/components/tables/part/PartTable.tsx:47 -msgid "Units" -msgstr "" - #: src/components/tables/part/PartTable.tsx:69 -#: src/components/tables/stock/StockItemTable.tsx:44 +#: src/components/tables/stock/StockItemTable.tsx:47 #: src/defaults/links.tsx:27 -#: src/pages/part/PartDetail.tsx:63 +#: src/pages/Index/SystemSettings.tsx:192 +#: src/pages/part/PartDetail.tsx:85 #: src/pages/stock/LocationDetail.tsx:60 #: src/pages/stock/StockDetail.tsx:101 msgid "Stock" @@ -847,6 +996,7 @@ msgid "Link" msgstr "" #: src/components/tables/part/PartTable.tsx:98 +#: src/components/tables/plugin/PluginListTable.tsx:138 msgid "Active" msgstr "" @@ -911,7 +1061,7 @@ msgid "Filter by parts which have stock" msgstr "" #: src/components/tables/part/PartTable.tsx:146 -#: src/defaults/dashboardItems.tsx:41 +#: src/defaults/dashboardItems.tsx:50 msgid "Low Stock" msgstr "" @@ -949,54 +1099,188 @@ msgid "Not Virtual" msgstr "" #: src/components/tables/part/PartTable.tsx:211 -msgid "Detail" -msgstr "" +#~ msgid "Detail" +#~ msgstr "Detail" -#: src/components/tables/part/RelatedPartTable.tsx:62 +#: src/components/tables/part/RelatedPartTable.tsx:67 msgid "Add Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:70 +#: src/components/tables/part/RelatedPartTable.tsx:75 msgid "Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:73 +#: src/components/tables/part/RelatedPartTable.tsx:78 msgid "Related part added" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:83 +#: src/components/tables/part/RelatedPartTable.tsx:88 msgid "Add related part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:105 +#: src/components/tables/part/RelatedPartTable.tsx:110 msgid "Delete Related Part" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:106 +#: src/components/tables/part/RelatedPartTable.tsx:111 msgid "Related part deleted" msgstr "" -#: src/components/tables/part/RelatedPartTable.tsx:108 +#: src/components/tables/part/RelatedPartTable.tsx:113 msgid "Are you sure you want to remove this relationship?" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:59 +#: src/components/tables/plugin/PluginListTable.tsx:24 +msgid "Plugin is active" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:30 +msgid "Plugin is inactive" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:37 +msgid "Plugin is not installed" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:54 +msgid "Plugin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:76 +msgid "Description not available" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:82 +msgid "Version" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:104 +msgid "Deactivate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:112 +msgid "Activate" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:143 +msgid "Builtin" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:148 +msgid "Sample" +msgstr "" + +#: src/components/tables/plugin/PluginListTable.tsx:153 +msgid "Installed" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:34 +#: src/pages/company/SupplierDetail.tsx:8 +msgid "Supplier" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:49 +msgid "Supplier Reference" +msgstr "" + +#: src/components/tables/purchasing/PurchaseOrderTable.tsx:79 +msgid "Line Items" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:33 +#: src/components/tables/sales/SalesOrderTable.tsx:34 +#: src/pages/company/CustomerDetail.tsx:8 +msgid "Customer" +msgstr "" + +#: src/components/tables/sales/ReturnOrderTable.tsx:48 +#: src/components/tables/sales/SalesOrderTable.tsx:49 +msgid "Customer Reference" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:33 +msgid "Definition" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:39 +msgid "Symbol" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:55 +msgid "Edit custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:62 +msgid "Custom unit updated" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:73 +msgid "Delete custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:74 +msgid "Custom unit deleted" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:77 +msgid "Are you sure you want to remove this custom unit?" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:89 +#: src/components/tables/settings/CustomUnitsTable.tsx:104 +msgid "Add custom unit" +msgstr "" + +#: src/components/tables/settings/CustomUnitsTable.tsx:95 +msgid "Custom unit created" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:47 +msgid "Edit project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:53 +msgid "Project code updated" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:65 +msgid "Delete project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:66 +msgid "Project code deleted" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:69 +msgid "Are you sure you want to remove this project code?" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:81 +#: src/components/tables/settings/ProjectCodeTable.tsx:95 +msgid "Add project code" +msgstr "" + +#: src/components/tables/settings/ProjectCodeTable.tsx:87 +msgid "Added project code" +msgstr "" + +#: src/components/tables/stock/StockItemTable.tsx:62 msgid "Batch" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:65 +#: src/components/tables/stock/StockItemTable.tsx:68 msgid "Location" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:90 +#: src/components/tables/stock/StockItemTable.tsx:93 msgid "Test Filter" msgstr "" -#: src/components/tables/stock/StockItemTable.tsx:91 +#: src/components/tables/stock/StockItemTable.tsx:94 msgid "This is a test filter" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:44 +#: src/components/tables/stock/StockLocationTable.tsx:45 msgid "Structural" msgstr "" @@ -1004,7 +1288,7 @@ msgstr "" msgid "External" msgstr "" -#: src/components/tables/stock/StockLocationTable.tsx:60 +#: src/components/tables/stock/StockLocationTable.tsx:59 msgid "Location Type" msgstr "" @@ -1075,67 +1359,67 @@ msgstr "" msgid "Show Boxes" msgstr "" -#: src/defaults/dashboardItems.tsx:6 +#: src/defaults/dashboardItems.tsx:15 msgid "Subscribed Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:13 +#: src/defaults/dashboardItems.tsx:22 msgid "Subscribed Categories" msgstr "" -#: src/defaults/dashboardItems.tsx:20 +#: src/defaults/dashboardItems.tsx:29 msgid "Latest Parts" msgstr "" -#: src/defaults/dashboardItems.tsx:27 +#: src/defaults/dashboardItems.tsx:36 msgid "BOM Waiting Validation" msgstr "" -#: src/defaults/dashboardItems.tsx:34 +#: src/defaults/dashboardItems.tsx:43 msgid "Recently Updated" msgstr "" -#: src/defaults/dashboardItems.tsx:48 +#: src/defaults/dashboardItems.tsx:57 msgid "Depleted Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:55 +#: src/defaults/dashboardItems.tsx:64 msgid "Required for Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:62 +#: src/defaults/dashboardItems.tsx:71 msgid "Expired Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:69 +#: src/defaults/dashboardItems.tsx:78 msgid "Stale Stock" msgstr "" -#: src/defaults/dashboardItems.tsx:76 +#: src/defaults/dashboardItems.tsx:85 msgid "Build Orders In Progress" msgstr "" -#: src/defaults/dashboardItems.tsx:83 +#: src/defaults/dashboardItems.tsx:92 msgid "Overdue Build Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:90 +#: src/defaults/dashboardItems.tsx:99 msgid "Outstanding Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:97 +#: src/defaults/dashboardItems.tsx:106 msgid "Overdue Purchase Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:104 +#: src/defaults/dashboardItems.tsx:113 msgid "Outstanding Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:111 +#: src/defaults/dashboardItems.tsx:120 msgid "Overdue Sales Orders" msgstr "" -#: src/defaults/dashboardItems.tsx:118 +#: src/defaults/dashboardItems.tsx:127 msgid "Current News" msgstr "" @@ -1147,10 +1431,6 @@ msgstr "" #~ msgid "Local Server" #~ msgstr "Local Server" -#: src/defaults/links.tsx:9 -msgid "Website" -msgstr "" - #: src/defaults/links.tsx:14 msgid "GitHub" msgstr "" @@ -1166,68 +1446,82 @@ msgstr "" #: src/defaults/links.tsx:25 #: src/pages/Index/Dashboard.tsx:19 +#: src/pages/Index/UserSettings.tsx:30 msgid "Dashboard" msgstr "" -#: src/defaults/links.tsx:31 +#: src/defaults/links.tsx:29 +#: src/pages/company/ManufacturerDetail.tsx:9 +#: src/pages/company/SupplierDetail.tsx:9 +#: src/pages/purchasing/PurchasingIndex.tsx:53 +msgid "Purchasing" +msgstr "" + +#: src/defaults/links.tsx:30 +#: src/pages/company/CustomerDetail.tsx:9 +#: src/pages/sales/SalesIndex.tsx:45 +msgid "Sales" +msgstr "" + +#: src/defaults/links.tsx:33 #: src/defaults/menuItems.tsx:32 #: src/pages/Index/Playground.tsx:88 msgid "Playground" msgstr "" -#: src/defaults/links.tsx:45 +#: src/defaults/links.tsx:47 msgid "Getting Started" msgstr "" -#: src/defaults/links.tsx:46 +#: src/defaults/links.tsx:48 msgid "Getting started with InvenTree" msgstr "" -#: src/defaults/links.tsx:52 +#: src/defaults/links.tsx:54 msgid "API" msgstr "" -#: src/defaults/links.tsx:53 +#: src/defaults/links.tsx:55 msgid "InvenTree API documentation" msgstr "" -#: src/defaults/links.tsx:58 +#: src/defaults/links.tsx:60 msgid "Developer Manual" msgstr "" -#: src/defaults/links.tsx:59 +#: src/defaults/links.tsx:61 msgid "InvenTree developer manual" msgstr "" -#: src/defaults/links.tsx:64 +#: src/defaults/links.tsx:66 msgid "FAQ" msgstr "" -#: src/defaults/links.tsx:65 +#: src/defaults/links.tsx:67 msgid "Frequently asked questions" msgstr "" -#: src/defaults/links.tsx:74 +#: src/defaults/links.tsx:76 msgid "Instance" msgstr "" -#: src/defaults/links.tsx:75 +#: src/defaults/links.tsx:77 msgid "About this Inventree instance" msgstr "" -#: src/defaults/links.tsx:81 +#: src/defaults/links.tsx:83 msgid "InvenTree" msgstr "" -#: src/defaults/links.tsx:82 +#: src/defaults/links.tsx:84 msgid "About the InvenTree org" msgstr "" -#: src/defaults/links.tsx:88 +#: src/defaults/links.tsx:90 msgid "Licenses" msgstr "" -#: src/defaults/links.tsx:89 +#: src/defaults/links.tsx:91 msgid "Licenses for packages used by InvenTree" msgstr "" @@ -1311,7 +1605,7 @@ msgstr "" #~ msgid "Combusken battles with the intensely hot flames it spews" #~ msgstr "Combusken battles with the intensely hot flames it spews" -#: src/functions/auth.tsx:29 +#: src/functions/auth.tsx:30 msgid "Error fetching token from server." msgstr "" @@ -1319,50 +1613,50 @@ msgstr "" #~ msgid "Logout successfull" #~ msgstr "Logout successfull" -#: src/functions/auth.tsx:49 +#: src/functions/auth.tsx:50 msgid "Logout successful" msgstr "" -#: src/functions/auth.tsx:50 +#: src/functions/auth.tsx:51 msgid "See you soon." msgstr "" -#: src/functions/auth.tsx:95 +#: src/functions/auth.tsx:96 msgid "Check your inbox for a reset link. This only works if you have an account. Check in spam too." msgstr "" -#: src/functions/auth.tsx:102 +#: src/functions/auth.tsx:103 #: src/pages/Auth/Set-Password.tsx:38 msgid "Reset failed" msgstr "" -#: src/functions/auth.tsx:118 +#: src/functions/auth.tsx:124 msgid "Already logged in" msgstr "" -#: src/functions/auth.tsx:119 +#: src/functions/auth.tsx:125 msgid "Found an existing login - using it to log you in." msgstr "" -#: src/functions/forms.tsx:39 -#: src/functions/forms.tsx:48 -#: src/functions/forms.tsx:128 +#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:146 msgid "Form Error" msgstr "" -#: src/functions/forms.tsx:40 +#: src/functions/forms.tsx:41 msgid "Form method not provided" msgstr "" -#: src/functions/forms.tsx:49 +#: src/functions/forms.tsx:50 msgid "Response did not contain action data" msgstr "" -#: src/functions/forms.tsx:87 +#: src/functions/forms.tsx:92 msgid "Invalid Form" msgstr "" -#: src/functions/forms.tsx:88 +#: src/functions/forms.tsx:93 msgid "method parameter not supplied" msgstr "" @@ -1410,6 +1704,14 @@ msgstr "" msgid "Are you sure you want to delete this attachment?" msgstr "" +#: src/functions/forms/CompanyForms.tsx:50 +msgid "Edit Company" +msgstr "" + +#: src/functions/forms/CompanyForms.tsx:54 +msgid "Company updated" +msgstr "" + #: src/functions/forms/PartForms.tsx:77 msgid "Create Part" msgstr "" @@ -1478,7 +1780,7 @@ msgstr "" msgid "Server returned status {returnCode}" msgstr "" -#: src/pages/Auth/Logged-In.tsx:18 +#: src/pages/Auth/Logged-In.tsx:22 msgid "Checking if you are already logged in" msgstr "" @@ -1491,6 +1793,11 @@ msgstr "" #~ msgid "Edit host options" #~ msgstr "Edit host options" +#: src/pages/Auth/Reset.tsx:41 +#: src/pages/Auth/Set-Password.tsx:111 +msgid "Send mail" +msgstr "" + #: src/pages/Auth/Set-Password.tsx:29 msgid "Token invalid" msgstr "" @@ -1543,10 +1850,9 @@ msgstr "" msgid "This page is a showcase for the possibilities of Platform UI." msgstr "" -#: src/pages/Index/Profile/Profile.tsx:27 -#: src/pages/Index/Profile/Profile.tsx:46 -#~ msgid "User Settings" -#~ msgstr "User Settings" +#: src/pages/Index/PluginSettings.tsx:47 +msgid "Plugin Settings" +msgstr "" #: src/pages/Index/Profile/Profile.tsx:30 #: src/pages/Index/Profile/Profile.tsx:141 @@ -1557,12 +1863,6 @@ msgstr "" #~ msgid "Global Settings" #~ msgstr "Global Settings" -#: src/pages/Index/Profile/Profile.tsx:36 -#: src/pages/Index/Profile/Profile.tsx:312 -#: src/pages/Index/Profile/Profile.tsx:329 -#~ msgid "Plugin Settings" -#~ msgstr "Plugin Settings" - #: src/pages/Index/Profile/Profile.tsx:47 #~ msgid "Settings for the current user" #~ msgstr "Settings for the current user" @@ -1815,7 +2115,7 @@ msgid "The history is kept in this browser's local storage. So it won't be share msgstr "" #: src/pages/Index/Scan.tsx:338 -#: src/pages/Notifications.tsx:46 +#: src/pages/Notifications.tsx:48 msgid "History" msgstr "" @@ -1847,6 +2147,68 @@ msgstr "" msgid "Add dummy item" msgstr "" +#: src/pages/Index/SystemSettings.tsx:38 +msgid "Server" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:65 +msgid "Login" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:87 +msgid "Barcodes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:101 +msgid "Project Codes" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:113 +msgid "Physical Units" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:124 +#: src/pages/part/PartDetail.tsx:122 +msgid "Pricing" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:129 +msgid "Labels" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:135 +#: src/pages/Index/UserSettings.tsx:88 +msgid "Reporting" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:187 +msgid "Part Parameters" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:214 +#: src/pages/part/PartDetail.tsx:150 +msgid "Stocktake" +msgstr "" + +#: src/pages/Index/SystemSettings.tsx:219 +#: src/pages/build/BuildDetail.tsx:214 +#: src/pages/build/BuildIndex.tsx:16 +#: src/pages/part/PartDetail.tsx:110 +msgid "Build Orders" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:25 +msgid "Account" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:35 +msgid "Display Options" +msgstr "" + +#: src/pages/Index/UserSettings.tsx:103 +msgid "User Settings" +msgstr "" + #: src/pages/Logged-In.tsx:24 #~ msgid "Found an exsisting login - using it to log you in." #~ msgstr "Found an exsisting login - using it to log you in." @@ -1863,109 +2225,248 @@ msgstr "" msgid "Go to the start page" msgstr "" -#: src/pages/Notifications.tsx:54 +#: src/pages/Notifications.tsx:56 msgid "Mark as unread" msgstr "" -#: src/pages/build/BuildDetail.tsx:51 +#: src/pages/build/BuildDetail.tsx:64 msgid "Build Details" msgstr "" -#: src/pages/build/BuildDetail.tsx:57 +#: src/pages/build/BuildDetail.tsx:70 msgid "Allocate Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:64 +#: src/pages/build/BuildDetail.tsx:77 msgid "Incomplete Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:71 +#: src/pages/build/BuildDetail.tsx:84 msgid "Completed Outputs" msgstr "" -#: src/pages/build/BuildDetail.tsx:84 +#: src/pages/build/BuildDetail.tsx:97 msgid "Consumed Stock" msgstr "" -#: src/pages/build/BuildDetail.tsx:96 +#: src/pages/build/BuildDetail.tsx:109 msgid "Child Build Orders" msgstr "" -#: src/pages/build/BuildDetail.tsx:108 -#: src/pages/part/PartDetail.tsx:137 +#: src/pages/build/BuildDetail.tsx:121 +#: src/pages/company/CompanyDetail.tsx:137 +#: src/pages/part/PartDetail.tsx:167 #: src/pages/stock/StockDetail.tsx:74 msgid "Attachments" msgstr "" -#: src/pages/build/BuildDetail.tsx:120 -#: src/pages/part/PartDetail.tsx:149 +#: src/pages/build/BuildDetail.tsx:133 +#: src/pages/company/CompanyDetail.tsx:149 +#: src/pages/part/PartDetail.tsx:179 #: src/pages/stock/StockDetail.tsx:86 msgid "Notes" msgstr "" -#: src/pages/build/BuildDetail.tsx:137 -msgid "Build Order" +#: src/pages/build/BuildDetail.tsx:150 +#: src/pages/part/PartDetail.tsx:226 +msgid "Barcode Actions" msgstr "" -#: src/pages/build/BuildDetail.tsx:145 -#: src/pages/build/BuildIndex.tsx:16 -#: src/pages/part/PartDetail.tsx:83 -msgid "Build Orders" +#: src/pages/build/BuildDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:231 +msgid "View" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:156 +#: src/pages/part/PartDetail.tsx:232 +msgid "View part barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:160 +#: src/pages/part/PartDetail.tsx:236 +msgid "Link Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:161 +#: src/pages/part/PartDetail.tsx:237 +msgid "Link custom barcode to part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:242 +msgid "Unlink Barcode" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:167 +#: src/pages/part/PartDetail.tsx:243 +msgid "Unlink custom barcode from part" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:173 +msgid "Reporting Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:178 +msgid "Report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:179 +msgid "Print build report" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:184 +msgid "Build Order Actions" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:190 +msgid "Edit build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:194 +#: src/pages/part/PartDetail.tsx:282 +msgid "Duplicate" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:195 +msgid "Duplicate build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:200 +msgid "Delete build order" +msgstr "" + +#: src/pages/build/BuildDetail.tsx:211 +msgid "Build Order" msgstr "" #: src/pages/build/BuildIndex.tsx:19 msgid "New Build Order" msgstr "" -#: src/pages/part/CategoryDetail.tsx:59 -msgid "Subcategories" -msgstr "" - -#: src/pages/part/CategoryDetail.tsx:71 -msgid "Parameters" -msgstr "" - -#: src/pages/part/PartDetail.tsx:57 +#: src/pages/company/CompanyDetail.tsx:68 +#: src/pages/part/PartDetail.tsx:74 #: src/pages/stock/StockDetail.tsx:44 msgid "Details" msgstr "" -#: src/pages/part/PartDetail.tsx:69 -msgid "Variants" +#: src/pages/company/CompanyDetail.tsx:73 +msgid "Manufactured Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:76 -msgid "Bill of Materials" +#: src/pages/company/CompanyDetail.tsx:79 +msgid "Supplied Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:90 -msgid "Used In" +#: src/pages/company/CompanyDetail.tsx:121 +msgid "Assigned Stock" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:187 +msgid "Company Actions" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:193 +msgid "Edit company" +msgstr "" + +#: src/pages/company/CompanyDetail.tsx:207 +msgid "Delete company" +msgstr "" + +#: src/pages/company/ManufacturerDetail.tsx:8 +msgid "Manufacturer" +msgstr "" + +#: src/pages/part/CategoryDetail.tsx:52 +#~ msgid "Subcategories" +#~ msgstr "Subcategories" + +#: src/pages/part/CategoryDetail.tsx:71 +#: src/pages/part/PartDetail.tsx:79 +msgid "Parameters" msgstr "" #: src/pages/part/PartDetail.tsx:97 -msgid "Pricing" +msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:103 +#: src/pages/part/PartDetail.tsx:104 +msgid "Bill of Materials" +msgstr "" + +#: src/pages/part/PartDetail.tsx:116 +msgid "Used In" +msgstr "" + +#: src/pages/part/PartDetail.tsx:127 +#: src/pages/purchasing/PurchasingIndex.tsx:27 msgid "Suppliers" msgstr "" -#: src/pages/part/PartDetail.tsx:124 +#: src/pages/part/PartDetail.tsx:145 +msgid "Scheduling" +msgstr "" + +#: src/pages/part/PartDetail.tsx:155 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:131 +#: src/pages/part/PartDetail.tsx:161 msgid "Related Parts" msgstr "" +#: src/pages/part/PartDetail.tsx:249 +msgid "Stock Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:254 +msgid "Count Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:255 +msgid "Count part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:259 +msgid "Transfer Stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:260 +msgid "Transfer part stock" +msgstr "" + +#: src/pages/part/PartDetail.tsx:265 +msgid "Part Actions" +msgstr "" + +#: src/pages/part/PartDetail.tsx:271 +msgid "Edit part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:283 +msgid "Duplicate part" +msgstr "" + +#: src/pages/part/PartDetail.tsx:288 +msgid "Delete part" +msgstr "" + #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" #~ msgstr "Categories" -#: src/pages/stock/LocationDetail.tsx:45 -msgid "Sublocations" +#: src/pages/purchasing/PurchasingIndex.tsx:38 +msgid "Manufacturers" msgstr "" +#: src/pages/sales/SalesIndex.tsx:33 +msgid "Customers" +msgstr "" + +#: src/pages/stock/LocationDetail.tsx:38 +#~ msgid "Sublocations" +#~ msgstr "Sublocations" + #: src/pages/stock/StockDetail.tsx:50 msgid "Stock Tracking" msgstr ""